Le type de calcul effectué avec les éléments d’une formule est défini par l’opérateur utilisé. VBA a quatre catégories d’opérateurs qui sont:
■ opérateurs arithmétiques;
■ opérateurs de comparaison;
■ opérateurs logiques;
■ opérateurs de concaténation.
1 Opérateurs arithmétiques
Les opérateurs arithmétiques, décrits et illustrés dans le tableau suivant, sont utilisés pour effectuer des calculs mathématiques :
Opérateur | Description | Exemple | |
+ | Somme deux valeurs. | 7 + 7 résultats 14. | |
– | Soustrait deux valeurs. | 7-2 résultats 5. | |
* | Multiplie deux valeurs. | 3 * 3 résultats 9. | |
/ | Divise deux valeurs. | 8/2 résultats 4. | |
\ | Renvoie la totalité du résultat d’une division. | 17 \ 2 résultats 8. | |
Mod | Renvoie le reste d’une division. Les valeurs non entières utilisées dans la division sont arrondies. |
17 Mod 2 résultats 1. 19 Mod 4 résultats 3. 19 Mod 4.2 résultats 3. |
|
^ | Calcule l’exponentiation. | 3 ^ 3 résultats 27. |
2 Opérateurs de comparaison
Les opérateurs de comparaison, décrits et illustrés dans le tableau suivant, permettent de comparer les valeurs de deux expressions en renvoyant un résultat True (pour les comparaisons vraies), False (pour les comparaisons fausses) ou Null (si l’une des expressions utilisées dans la comparaison contient des données non valides):
Opérateur | Description | Exemples |
= | Égal à. | 20 = 15 + 15 résultats False. |
<> | Différent de. | 25 <> 20 + 20 résultats True. |
> | Plus grand que. | 50> 70-25 résultats True. |
< | Plus petit que. | 20 <10 + 10 résultats False. |
> = | Supérieur ou égal à. | 50> = 10 * 7 est résultats False. |
<= | Inférieur ou égal à. | 30 <= 15 + 15 résultats True. |
Is | Compare deux variables de référence d’objet. | Objet Is Var donne True, en supposant que Objet est égal à X et X est égal à Var. |
Like | Compare deux chaînes. | « FnnnF » Like « F*F » résultats True. |
3 Opérateurs logiques
Les opérateurs logiques, comme les opérateurs de comparaison, renvoient un résultat True, False ou Null. Le tableau suivant décrit ces opérateurs:
Opérateur | Description | Exemples |
And | Ajoute des conditions à un test logique. Renvoie True si toutes les conditions sont vraies, False si l’une d’entre elles est fausse et Null si l’une est nulle. | 12> 5 And 8 <7 résultats False. 12> 5 And 8> 7 résultats True. |
Or | Il ajoute des conditions à un test logique, tout comme l’opérateur And. Toutefois, renvoie True si une ou plusieurs conditions sont vraies, False si toutes sont fausses et Null si l’une est nulle. | 12> 5 Or 8 <7 résultats Vrai |
Not | Inverse la logique d’une expression en créant une négation logique. | Not 12> 5 résultats False |
Eqv | Vérifie une équivalence logique et renvoie True si les deux expressions sont vraies ou fausses et False ou Null si l’une d’entre elles est null. | 12>5 Eqv 8>5 résultats
True. 12<5 Eqv 8<5 résultats True. |
Xor | Effectuez une suppression logique en renvoyant la valeur True si l’une des expressions est true et l’autre false. Si les deux expressions sont vraies ou fausses, renvoie False et si l’une des expressions est null, renvoie Null. | 9>7 Xor 7<5 résultats
True. 9>7 Xor 7>5 résultats False. |
4 Opérateurs de concaténation
L’opérateur de concaténation VBA est &. La concaténation est utilisée pour créer un texte unique en combinant deux chaînes de texte ou plus. Prenons l’exemple suivant :
Sub OperateurConcatenation() MsgBox ("Bienvenu" & " Elie Chancelin") End Sub
Nous pouvons dire que l’opérateur de concaténation a également pour fonction d’unir des valeurs distinctes, telles que le contenu d’un texte avec la date définie par le système d’exploitation de la machine, ou même d’afficher, dans une seule réponse, une chaîne contenant le résultat d’une variable.
REMARQUE
La concaténation de chaînes peut également être représentée par un signe plus (+). Cependant, de nombreux programmeurs préfèrent limiter le signe plus (+) aux opérations sur les nombres pour éliminer toute ambiguïté.
5 Ordre des opérations
L’ordre dans lequel les opérations ont lieu dans VBA est identique à celui d’Excel: d’abord, toutes les exponentiations sont exécutées, ensuite des multiplications et des divisions sont effectuées, et enfin, des additions et des soustractions. Toute opération entre parenthèses est toutefois résolue avant toute autre. Ainsi, l’expression 5 + 3 * 2 correspond à 11, tandis que l’expression (5 + 3) * 2 correspond au nombre 16.