VBA : utilisez IF OR pour tester plusieurs conditions



Vous pouvez utiliser la syntaxe de base suivante dans VBA avec IF et OR pour tester si plusieurs conditions sont remplies :

Sub IfOrTest()
    If Range("A2") = "Warriors" Or Range("B2") > 100 Then
    Range("C2").Value = "Yes!"
    Else
    Range("C2").Value = "No."
    End If
End Sub

Cet exemple particulier vérifie si la valeur dans la cellule A2 est égale à « Guerriers » ou si la valeur dans la cellule B2 est supérieure à 100.

Si l’une ou l’autre des conditions est remplie, la valeur « Oui ! » est renvoyé dans la cellule C2 .

Sinon, la valeur « Non ». est renvoyé dans la cellule C2 .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Connexe : VBA : utilisez IF AND pour tester plusieurs conditions

Exemple : utilisez IF AND pour tester plusieurs conditions dans VBA

Supposons que nous ayons les données suivantes dans Excel :

Supposons que nous souhaitions déterminer si le nom de l’équipe est Warriors ou si la valeur des points est supérieure à 100 et renvoyer le résultat dans la cellule C2 .

Nous pouvons créer la macro suivante pour ce faire :

Sub IfOrTest()
    If Range("A2") = "Warriors" Or Range("B2") > 100 Then
    Range("C2").Value = "Yes!"
    Else
    Range("C2").Value = "No."
    End If
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

La macro renvoie correctement la valeur « Oui ! » dans la cellule C2 puisqu’au moins une des conditions était remplie.

Si nous modifions la valeur des points dans la cellule A2 puis exécutons à nouveau la macro, elle testera si les deux conditions sont remplies pour les nouvelles valeurs :

Par exemple, supposons que nous changeons le nom de l’équipe en « Rockets » et que nous exécutons à nouveau la macro :

La macro renvoie correctement la valeur « Non ». dans la cellule C2 puisqu’aucune des deux conditions n’était remplie.

Si vous souhaitez plutôt afficher les résultats dans une boîte de message, vous pouvez utiliser la syntaxe suivante :

Sub IfOrTest()
    If Range("A2") = "Warriors" Or Range("B2") > 100 Then
    MsgBox "Yes!"
    Else
    MsgBox "No."
    End If
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

La boîte de message renvoie « Non ». puisqu’aucune des deux conditions n’était remplie.

Remarque : Dans cet exemple, nous n’avons utilisé l’opérateur Ou qu’une seule fois dans notre macro pour tester si deux conditions étaient remplies, mais vous pouvez utiliser autant d’opérateurs Ou que vous le souhaitez pour tester si plus de deux conditions sont remplies.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

VBA : comment utiliser RECHERCHEV
VBA : Comment compter les occurrences de caractères dans une chaîne
VBA : comment vérifier si une chaîne contient une autre chaîne

Ajouter un commentaire

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