<< Retour au sommaire

 

VBA, Les opérateurs

 

 

 

Table des matières

  1. Les opérateurs arithmétiques ;
  2. Les opérateurs logiques.

 

Les opérateurs arithmétiques

 

Les opérateurs arithmétiques sont utilisés dans des opérations mathématiques.

Aucune surprise pour le langage VBA, les quatre opérateurs de base sont :

« + » pour« Plus »,

« -« Pour « Moins »,

« * » Pour « Multiplier »,

« / » Pour « Diviser ».

 

Une formule mathématique s’écrit simplement comme suit :

 

Dim Kilomètres As Integer

Dim Temps As Integer

Dim Kilomètres_Heure As Integer

Kilomètres_Heure = Kilomètres/Temps

 

Kilomètres = 33+21

Ici, la somme est affectée dans la variable Kilomètre.

 

L’ordre de priorité de calcul des expressions d’une formule démarre de l’expression la plus imbriquée jusqu’à l’expression la moins imbriquée.

Par exemple :

Résultat = 33*(21+(18+16))

Dans cette formule, 18 sera additionné à 16, et donnera le résultat 1.

Ensuite, 21 sera additionné au résultat 1 et donnera le résultat 2.

Pour finir, 33 sera multiplié au résultat 2 et donnera résultat 3 qui sera affecté à la variable Résultat.

 

 

 

Les opérateurs logiques

 

Un opérateur logique permet de combiner des expressions qui retournent les valeurs « Vraie » et « fausse ».

Voici la liste des opérateurs logiques :

 

And = Et,

Or = Ou inclusif,

Xor = ou exclusif.

 

Un exemple de code :

 

Dim A As Integer

Dim B As integer

A = 1

B = 2

 

If A=1 Then

  MSGBox(« Vrai »)

Else

  MsgBox(« Faux »)

EndIf

 

Ici, c’est « Vrai » qui sera affiché puisque l’expression unique de la condition est vraie.

 

If A=1 And B=2 Then

  MsgBox(“Vrai”)

Else

  MsgBox(“Faux”)

EndIf

 

Ici, nous avons traité 2 expressions grâce à l’opérateur And.

L’opérateur And oblige que les 2 expressions soient vraies pour que le résultat final soit vrai.

Dans notre code, comme les 2 expressions sont vraies, la condition sera vraie.

 

If A=1 Or B=2 Then

  MsgBox(« Vrai »)

Else

  MsgBox(“Faux”)

EndIf

 

Ici, les 2 expressions sont vraies et comme elles sont reliées par Or,

c’est-à-dire un Ou inclusif, le résultat est vrai.

Avec l’opérateur ou inclusif, il faut qu’au moins l’une des 2 expressions soient vraie.

Dans notre code, c’est le cas puisque les 2 expressions sont vraies.

Mais le code suivant donne également un résultat vrai puisque la deuxième expression est vraie :

If A=1000 Or B=2 Then

  MsgBox(« Vrai »)

Else

  MsgBox(“Faux”)

EndIf

 

La première expression est fausse mais la deuxième est vraie.

C’est donc MsgBox(« Vrai ») qui sera exécuté.

 

Par contre, avec l’opérateur Xor, c’est-à-dire le Ou exclusif, seule l’une des expressions doit être vraie mais pas les deux.

 

Donc, le code suivant donne un résultat faux :

If A=1 Xor B=2 Then

  MsgBox(« Vrai »)

Else

  MsgBox(“Faux”)

EndIf

 

  Philippe BOULANGER