Comment utiliser la fonction IF imbriquée de VBA ?

Dans VBA, vous pouvez utiliser une instruction IF dans une autre instruction IF pour créer des IF imbriqués. En termes simples, vous pouvez exécuter une instruction de test à l’aide de IF en fonction du résultat d’une autre instruction IF. Dans ce type d’instruction conditionnelle, vous devez tester des conditions complexes. Voyons un exemple :

vba-imbriqué-si

Dans l’exemple ci-dessus, nous testons deux conditions, condition1 (1 + 1 = 2) et condition2 (2 + 2 = 4).

Mais comme nous sommes l’instruction IF à l’intérieur de l’instruction IF, VBA testera d’abord la première condition, puis passera à la prochaine IF.

Dans le deuxième SI, nous avons une boîte de message pour montrer si la condition est VRAIE.

Sub myMacro1()

'first if statement
If 1 + 1 = 2 Then

    'second if statement
    If 2 + 2 = 4 Then

        MsgBox True

    End If

Else

    MsgBox False

End If

End Sub

Voici un exemple d’utilisation de plusieurs IF dans un IF.

Il y a une différence entre l’exemple que nous avons utilisé plus tôt et dans l’exemple ci-dessus : dans ce code, nous avons utilisé une condition imbriquée pour « Else ».

Si la première condition n’est pas vraie, VBA passera au « Else » et testera la condition, et si cette condition n’est pas vraie, alors à la suivante.

De cette façon, nous avons un total de quatre conditions à tester.

Sub myMacro2()

Dim myScore As Single: myScore = Range("A1").Value

If myScore >= 80 Then

MsgBox "Excellent"

Else

    If myScore >= 60 And myScore < 80 Then
        MsgBox "Good"
    Else

        If myScore >= 40 And myScore < 60 Then
        MsgBox "Average"
        Else

            If myScore < 40 Then
            MsgBox "Poor"

            End If
        End If
    End If
End If

End Sub

Cette instruction IF imbriquée testera le score de la cellule A1 et affichera une boîte de message en conséquence.

IF imbriqué VBA avec plusieurs lignes (IF)

Vous pouvez également utiliser deux IF différents à exécuter pour les deux résultats (Vrai et Faux).

Dans l’exemple ci-dessus, comme vous pouvez le voir, nous avons d’abord une condition à tester, et si cette condition est VRAIE, puis vous avez une autre condition à tester, et si cette deuxième condition est VRAIE, vous obtiendrez une boîte de message.

Et si la condition principale est fausse, vous avez une autre condition à tester et vous obtiendrez une boîte de message si cette condition est vraie.

Sub myMacro3()

If 1 + 1 = 2 Then

    If 2 - 1 = 1 Then

        MsgBox "Condition1 is TRUE."

    End If

Else

    If 3 - 2 = 1 Then

        MsgBox "Condition2 is TRUE."

    End If

End If

End Sub

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *