Opérateurs logiques VBA - OR, AND, XOR, NOT, IS, & LIKE

VBA vous permet d'utiliser les opérateurs logiques Et, Ou, Pas, Xou pour comparer des valeurs. Les opérateurs sont considérés comme « booléens », ce qui signifie qu'ils renvoient True ou False en conséquence.

Si vous voulez apprendre à comparer des chaînes, cliquez ici : VBA Compare Strings - StrComp

Si vous souhaitez apprendre à utiliser les opérateurs de comparaison, cliquez ici : Opérateurs de comparaison VBA - Pas égaux à et plus

Utilisation de l'opérateur logique And

Les Et L'opérateur logique compare deux ou plusieurs conditions. Si toutes les conditions sont vraies, l'opérateur renvoie True. Si au moins une des conditions n'est pas vraie, l'opérateur renverra False. Voici un exemple:

123456789101112 Dim intA en tant qu'entierDim intB en tant qu'entierDim blnRésultat en tant que booléenintA = 5intB = 5Si intA = 5 Et intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin si

Dans cet exemple, nous voulons vérifier si les deux intA et intB sont égaux à 5. Si cela est vrai, la valeur de Boolean blnRésultat sera Vrai, sinon, ce sera Faux.

Tout d'abord, nous définissons les valeurs de intA et intB à 5:

12 intA = 5intB = 5

Après cela, nous utilisons le Et opérateur dans l'instruction If pour vérifier si les valeurs sont égales à 5 :

12345 Si intA = 5 Et intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin si

Comme les deux variables sont égales à 5, le blnRésultat renvoie Vrai :

Image 1. Utilisation de l'opérateur logique Et dans VBA

Utilisation de l'opérateur logique Ou

Les Ou L'opérateur logique compare deux ou plusieurs conditions. Si au moins une des conditions est vraie, elle renverra True. Si aucune des conditions n'est vraie, l'opérateur renverra False. Voici le code de l'exemple :

123456789101112 Dim intA en tant qu'entierDim intB en tant qu'entierDim blnRésultat en tant que booléenintA = 5intB = 10Si intA = 5 Ou intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin si

Dans cet exemple, nous voulons vérifier si les deux intA est égal à 5. ou intB est égal à 10. Si l'une de ces conditions est vraie, la valeur de Boolean blnRésultat sera Vrai, sinon, ce sera Faux.

On fixe d'abord la valeur de intA à 5 et intB à 10 :

12 intA = 5intB = 10

Après cela, nous utilisons le Ou dans l'instruction If pour vérifier si l'une des valeurs est égale à 5 :

12345 Si intA = 5 Ou intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin si

Comme intA la valeur est 5, le blnRésultat renvoie Vrai :

Image 2. Utilisation de l'opérateur logique Ou dans VBA

Utilisation de l'opérateur non logique

Les Pas L'opérateur logique vérifie une ou plusieurs conditions. Si les conditions sont vraies, l'opérateur renvoie False. Sinon, il renvoie True. Voici le code de l'exemple :

12345678910 Dim intA en tant qu'entierDim blnRésultat en tant que booléenintA = 5Si Non (intA = 6) AlorsblnRésultat = VraiAutreblnRésultat = FauxFin si

Dans cet exemple, nous voulons vérifier si la valeur de intA n'est pas égal à 6. Si intA est différent de 6, la valeur de booléen blnRésultat sera Vrai, sinon, ce sera Faux.

On fixe d'abord la valeur de intA à 5:

1 intA = 5

Après cela, nous utilisons l'opérateur Not dans l'instruction If pour vérifier si la valeur de intA est différente de 6 :

12345 Si Non (intA = 6) AlorsblnRésultat = VraiAutreblnRésultat = FauxFin si

Comme intA la valeur est 5, le blnRésultat renvoie Vrai :

Image 3. Utilisation de l'opérateur Non logique dans VBA

Utilisation de l'opérateur logique Xor

Les Xou L'opérateur logique compare deux ou plusieurs conditions. Si exactement l'une des conditions est vraie, elle renverra True. Si aucune des conditions n'est vraie, ou si plusieurs sont vraies, elle renverra False. Voici le code de l'exemple :

123456789101112 Dim intA en tant qu'entierDim intB en tant qu'entierDim blnRésultat en tant que booléenintA = 5intB = 10Si intA = 5 Xou intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin si

Dans cet exemple, nous voulons vérifier si exactement une des valeurs (intA ou IntB) est égale à 5. Si une seule condition est vraie, la valeur de Boolean blnRésultat sera Vrai, sinon, ce sera Faux.

On fixe d'abord la valeur de intA à 5 et intB à 10 :

12 intA = 5intB = 10

Après cela, nous utilisons le Ou dans l'instruction If pour vérifier si l'une des valeurs est égale à 5 :

12345 Si intA = 5 Xou intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin si

Comme intA la valeur est 5 et intB est 10, le blnRésultat renvoie Vrai :

Image 4. Utilisation de l'opérateur logique Xor dans VBA

est opérateur

L'opérateur Is teste si deux variables d'objet stockent le même objet.

Regardons un exemple. Ici, nous allons affecter deux feuilles de calcul aux objets de feuille de calcul rng1 et rng2, en testant si les deux objets de feuille de calcul stockent la même feuille de calcul :

12345678910111213 Sous-ComparerObjets()Dim ws1 en tant que feuille de calcul, ws2 en tant que feuille de calculDéfinir ws1 = Sheets("Sheet1")Définir ws2 = Sheets("Sheet2")Si ws1 est ws2 alorsMsgBox "Même WS"AutreMsgBox "Différents WS"Fin siFin du sous-marin

Bien sûr, les objets de la feuille de calcul ne sont pas les mêmes, donc « Différents WS » est renvoyé.

Comme opérateur

L'opérateur Like peut comparer deux chaînes pour des correspondances inexactes. Cet exemple testera si une chaîne commence par « Mr ».

1234567891011121314 Sous LikeDemo()Dim strName en tant que chaîneDim blnRésultat en tant que booléenstrName = "M. Michael James"Si strName comme "Mr*" AlorsblnRésultat = VraiAutreblnRésultat = FauxFin siFin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave