Type de variable booléenne
Le type de données VBA Boolean est utilisé pour stocker les valeurs True ou False. True peut également être représenté par 1 et False par 0.
Pour déclarer une variable booléenne, vous utilisez l'instruction Dim (abréviation de Dimension) :
1 | Dim blnA en tant que booléen |
Ensuite, pour affecter une valeur à une variable, vous utilisez simplement le signe égal :
1 | blnA = vrai |
Lorsque vous mettez cela dans une procédure, cela pourrait ressembler à ceci :
123456789101112 | Sous exemple bln()'déclare la variable booléenneDim blnA en tant que booléen'exécuter le code pour remplir la variable - généralement le code est une instruction if ou caseSi Plage("A1") > 0 alorsblnA = vraiAutreblnA = FauxFin si'afficher la boîte de messageMsgBox "Le test pour voir si la cellule a une valeur supérieure à 0 est " & blnAFin du sous-marin |
Si vous exécutez le code ci-dessus, la boîte de message suivante s'affichera.
Déclarer une variable booléenne au niveau du module ou global
Dans l'exemple précédent, nous avons déclaré le booléen variable au sein d'une procédure. Les variables déclarées avec une procédure ne peuvent être utilisées que dans cette procédure.
Au lieu de cela, vous pouvez déclarer des variables booléennes au niveau du module ou au niveau global.
Niveau du module
vous déclarez Niveau du module variables en haut des modules de code avec le Faible déclaration.
Ces variables peuvent être utilisées avec n'importe quelle procédure dans ce module de code.
Niveau mondial
Vous déclarez également Niveau mondial variables en haut des modules de code. Cependant, au lieu d'utiliser le Faible déclaration, vous utiliseriez le Publique déclaration pour indiquer que le booléen variable est disponible pour être utilisée tout au long de votre projet VBA.
1 | Public blnA en tant que booléen |
Si vous deviez déclarer le booléen variable au niveau du module, puis essayez de l'utiliser dans un module différent, vous obtiendrez une erreur.
Cependant, si vous aviez utilisé le mot-clé Public pour déclarer le booléen variable, l'erreur ne se produirait pas et la procédure se déroulerait parfaitement.
Utiliser une variable booléenne
Vous utilisez la variable booléenne en comparaison logique. Ceux-ci sont souvent utilisés avec des instructions If pour tester si une condition est vraie ou fausse, comme dans l'exemple ci-dessus, ou dans une ligne de code pour appliquer un test logique - peut-être pour voir si une valeur est supérieure à une autre.
12345678 | Sous exemple bln()'déclare la variable booléenneDim blnA en tant que booléen'test pour voir si un nombre est supérieur au nombre suivantblnA = 45 > 68'afficher la boîte de messageMsgBox blnAFin du sous-marin |
Si vous exécutez le code ci-dessus, vous obtiendrez la boîte de message suivante.
car bien sûr 45 n'est pas supérieur à 68 !
Utilisation d'opérateurs booléens
Comme les variables booléennes sont utilisées dans la comparaison logique, nous pouvons utiliser les opérateurs logiques ET et OU pour tester si plusieurs conditions sont vraies ou fausses.
Utilisation de l'opérateur AND
Nous pouvons utiliser la fonction AND pour voir si les DEUX conditions sont remplies.
12345678 | Sous exemple bln()'déclare la variable booléenneDim blnA en tant que booléen'utiliser l'opérateur AND pour tester si les deux conditions sont vraiesblnA = 10 > 13 Et 15 > 12'afficher la boîte de messageMsgBox blnAFin du sous-marin |
ou nous pourrions exécuter le même test en utilisant une instruction If :
123456789101112 | Sous exemple bln()'déclare la variable booléenneDim blnA en tant que booléen'utiliser l'opérateur AND pour tester si les deux conditions sont vraiesSi 10 > 13 Et 15 > 12 AlorsblnA = VraiAutreblnA = FauxFin si'afficher la boîte de messageMsgBox blnAFin du sous-marin |
Les deux exemples ci-dessus renverraient FAUX du fait que 10 est NE PAS supérieur à 13 - et LES DEUX les conditions doivent être vraies pour que le booléen soit vrai.
Utilisation de l'opérateur OU
Nous pouvons utiliser la fonction OU pour voir si UNE DES conditions est remplie.
12345678 | Sous exemple bln()'déclare la variable booléenneDim blnA en tant que booléen'utiliser l'opérateur AND pour tester si les deux conditions sont vraiesblnA = 10 > 13 Ou 15 > 12'afficher la boîte de messageMsgBox blnAFin du sous-marin |
ou nous pourrions exécuter le même test en utilisant une instruction If :
123456789101112 | Sous exemple bln()'déclare la variable booléenneDim blnA en tant que booléen'utiliser l'opérateur AND pour tester si les deux conditions sont vraiesSi 10 > 13 OU 15 > 12 AlorsblnA = VraiAutreblnA = FauxFin si'afficher la boîte de messageMsgBox blnAFin du sous-marin |
Ces exemples reviendraient VRAI en raison du fait que 10 n'est PAS supérieur à 13 MAIS 15 EST supérieur à 12 - etSEULEMENT UN condition doit être True pour que le booléen soit True.
L'utilisation des instructions If nous permet d'utiliser plus d'opérateurs logiques
Utilisation de l'opérateur NOT
Nous pouvons également utiliser l'opérateur NOT avec la variable booléenne. L'opérateur NOT annule la valeur de la condition - donc si une condition est vraie, l'opérateur NOT renverra faux.
12345678910111213141516 | Sub FindDifferences()'déclarer les variables de plageDim rng1 comme plageDim rng2 comme plage'activer la feuille unFeuilles de calcul ("Feuille1").Activer'remplir les plagesDéfinir rng1 = Plage("A3")Définir rng2 = Plage("B3")'utilisez l'opérateur NOT pour voir si les valeurs sont égales ou non.Si non rng1.Value = rng2.Value AlorsMsgBox "Les valeurs dans les cellules ne sont pas égales"AutreMsgBox "Les valeurs dans les cellules sont égales"Fin siFin du sous-marin |
Utilisation de l'opérateur logique Xor
LesXou L'opérateur logique est utilisé pour comparer deux ou plusieurs conditions. Si l'une des conditions est vraie, elle retournera TRUE. S'il y a 2 conditions et qu'AUCUNE n'est vraie ou les DEUX sont vraies, elle renverra FALSE.
1234567891011121314151617 | Sous exemple bln()'déclarer les entiersDim intA en tant qu'entierDim intB en tant qu'entier'déclare la variable booléenneDim blnRésultat en tant que booléen'remplir les variablesintA = 5intB = 10'vérifier pour voir si l'un est vraiSi intA = 5 Xou intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin siMsgBox blnRésultatFin du sous-marin |
Dans l'exemple ci-dessus, comme UNE des conditions est VRAIE, la boîte de message retournera VRAI.
1234567891011121314151617 | Sous exemple bln()'déclarer les entiersDim intA en tant qu'entierDim intB en tant qu'entier'déclare la variable booléenneDim blnRésultat en tant que booléen'remplir les variablesintA = 5intB = 5'vérifier pour voir si l'un est vraiSi intA = 5 Xou intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin siMsgBox blnRésultatFin du sous-marin |
Cependant, dans l'exemple ci-dessus, comme les DEUX conditions sont vraies, la boîte de message retournera FAUX.
1234567891011121314151617 | Sous exemple bln()'déclarer les entiersDim intA en tant qu'entierDim intB en tant qu'entier'déclare la variable booléenneDim blnRésultat en tant que booléen'remplir les variablesintA = 6intB = 8'vérifier pour voir si l'un est vraiSi intA = 5 Xou intB = 5 AlorsblnRésultat = VraiAutreblnRésultat = FauxFin siMsgBox blnRésultatFin du sous-marin |
et enfin, comme les deux conditions sont FALSE, la boîte de message renverra également FALSE.