Excel · VBA · A3iformations

Les opérateurs en VBA : arithmétiques, comparaison, Like, And et Or

Les opérateurs combinent des valeurs pour calculer, comparer ou tester. Les opérateurs arithmétiques (+ - * / \ Mod ^) produisent un nombre. Les opérateurs de comparaison (= <> < <= > >=) et Like produisent Vrai ou Faux. Les opérateurs logiques (And, Or, Not) assemblent plusieurs conditions. Chaque simulateur évalue l’expression comme VBA : ordre de priorité, type du résultat, erreurs de dépassement ou de type. Ces opérateurs sont au cœur des conditions If et Select Case et des boucles.

+ – * / \ Mod ^Calculer
= <> < <= > >=Comparer
Like « EXC-#### »Filtrer
And, Or, NotCombiner
1

Les opérateurs arithmétiques

VBA connaît les quatre opérations +, -, * (multiplication) et / (division), plus trois opérateurs propres aux entiers et aux puissances : \ (division entière), Mod (reste de la division entière) et ^ (puissance). Quand une expression en contient plusieurs, VBA applique un ordre de priorité : ^, puis le signe moins, puis * et /, puis \, puis Mod, enfin + et -. À priorité égale, le calcul se fait de gauche à droite. Le type du résultat dépend des opérandes : deux Integer donnent un Integer, ce qui peut provoquer un dépassement de capacité.

Simulateur : évaluez une expression comme VBA
OpérateurRôleExempleRésultat
+Addition17 + 522
-Soustraction, ou signe moins17 - 512
*Multiplication17 * 585
/Division (résultat Double)17 / 53,4
\Division entière17 \ 53
ModReste de la division entière17 Mod 52
^Puissance2 ^ 101024
Mod en pratiqueIf i Mod 2 = 0 Then repère une ligne paire ; minutes Mod 60 donne les minutes restantes après les heures entières (minutes \ 60).
Dépassement de capacitéDim n As Integer ne dépasse pas 32 767. Déclarez vos compteurs et totaux en Long ou Double, et convertissez un opérande avec CLng si besoin.
+ ou & ?Pour assembler du texte, utilisez toujours &. + additionne ou concatène selon les types, ce qui donne des résultats inattendus avec des cellules au format texte.
2

Les opérateurs de comparaison

Une comparaison renvoie True (Vrai) ou False (Faux). Elle s’écrit dans un If, un Do While ou s’affecte à une variable Boolean. Attention au signe égal : a = b compare dans une condition, mais affecte une valeur en début d’instruction. Entre deux textes, VBA compare caractère par caractère selon l’ordre des codes : « 10 » est donc inférieur à « 9 », et « Excel » différent de « excel », sauf avec Option Compare Text en tête de module.

OpérateurSignificationExemple
>Supérieur àscore > 725
>=Supérieur ou égal àscore >= 551
<Inférieur àmontant < 1000
<=Inférieur ou égal ànb <= 12
=Égal àformation = "Excel"
<>Différent deCells(i, 1).Value <> ""
Simulateur : comparer deux valeurs avec les six opérateurs

Espaces invisibles« Word » et « Word » suivi d’un espace sont différents. Nettoyez les saisies avec Trim avant de comparer : If Trim(Cells(i, 1).Value) = "Word" Then.
Ignorer la casse ponctuellementSans Option Compare Text, comparez des versions en majuscules : If UCase(nom) = "EXCEL" Then.
3

L’opérateur Like

texte Like "motif" vérifie qu’un texte respecte un modèle et renvoie Vrai ou Faux. Le motif utilise des caractères génériques : ? remplace un caractère, * zéro ou plusieurs caractères, # un chiffre, [A-Z] un caractère d’une liste ou d’une plage, [!0-9] un caractère absent de la liste. Like sert à contrôler un format (code article, référence, code postal) ou à filtrer des lignes. Il respecte la casse, sauf avec Option Compare Text.

Simulateur : vérifier le format de codes de formation

CaractèreCorrespond àExemple vrai
?Un caractère quelconque"Word" Like "W?rd"
*Zéro, un ou plusieurs caractères"PowerPoint" Like "Pow*"
#Un chiffre de 0 à 9"75011" Like "#####"
[liste]Un caractère de la liste ou de la plage"B12" Like "[A-C]##"
[!liste]Un caractère absent de la liste"X1" Like "[!A-C]#"
Chercher un caractère spécialPour trouver littéralement *, ?, # ou [, placez-le entre crochets : texte Like "*[*]*" repère un astérisque.
Like ou InStr ?InStr(texte, "Excel") > 0 cherche une sous-chaîne ; Like vérifie la forme complète du texte, du premier au dernier caractère.
4

Les opérateurs logiques And, Or et Not

And (ET) est vrai seulement si les deux conditions sont vraies. Or (OU) est vrai si au moins une condition est vraie. Not inverse une condition. Ils permettent d’écrire une seule condition à la place de plusieurs If imbriqués : If score >= 551 And financement = "CPF" Then. Les comparaisons sont évaluées avant les opérateurs logiques, et And passe avant Or : utilisez des parenthèses dès que vous mélangez les deux.

Simulateur 1 : la table de vérité
Simulateur 2 : combiner des conditions (a = score, b = nombre de jours)
Pas de court-circuitVBA évalue toujours les deux côtés de And et de Or. If b <> 0 And a / b > 100 plante quand b vaut 0. Imbriquez deux If : If b <> 0 Then If a / b > 100 Then …
Parenthèses(score >= 551 And financement = "CPF") Or urgent = "Oui" : les parenthèses rendent l’intention lisible et évitent les erreurs de priorité.
Exercice : calculer, contrôler des codes et filtrer des stagiaires

Classeur d’exercice (Énoncé et Corrigé)

  1. Enregistrez le classeur en .xlsm et collez le code de la feuille « Code VBA » dans un module standard.
  2. Feuille Calculs : prévoyez le résultat de chaque expression, puis exécutez Calculer pour vérifier.
  3. Feuille Codes : exécutez VerifierCodes (Like) et comptez les codes valides.
  4. Feuille Stagiaires : exécutez Eligibles (And, Or) et comptez les stagiaires retenus.
  5. Répondez aux questions de la feuille Contrôle.
A3iformations · Organisme certifié Qualiopi · Centre de passage TOSA Interface Excel Microsoft 365 en français