Opérateurs de comparaison
Utilisés pour comparer des expressions.
Syntaxe
résultat = expression1comparisonoperatorexpression2result = object1Isobject2result = stringLikepattern
Les opérateurs de comparaison présentent les éléments suivants :
Élément | Description |
---|---|
result | Requis ; n’importe quelle variable numérique. |
expression | Obligatoire ; toute expression. |
comparisonoperator | Obligatoire ; tout opérateur de comparaison. |
object | Obligatoire ; tout nom d'objet. |
chaîne | Obligatoire ; toute expression de chaîne. |
pattern | Obligatoire ; toute expression de chaîne ou plage de caractères. |
Remarques
Le tableau suivant contient la liste des opérateurs de comparaison et les conditions qui déterminent si le résultat est True, False ou Null.
Opérateur | True si | False si | Null si |
---|---|---|---|
< (Inférieur à) |
expression1<expression2 | expression1>= expression2 | expression1 ou expression2 = Null |
<= (Inférieur ou égal à) |
expression1<= expression2 | expression1>expression2 | expression1 ou expression2 = Null |
> (Supérieur à) |
expression1>expression2 | expression1<= expression2 | expression1 ou expression2 = Null |
>= (Supérieur ou égal à) |
expression1>= expression2 | expression1<expression2 | expression1 ou expression2 = Null |
= (Égal à) |
expression1 = expression2 | expression1<>expression2 | expression1 ou expression2 = Null |
<> (Différent de) |
expression1<>expression2 | expression1 = expression2 | expression1 ou expression2 = Null |
Remarque
Les opérateurs Is et Like ont une fonctionnalité de comparaison spécifique qui diffère des opérateurs du tableau.
Lorsque vous comparez deux expressions, il n'est pas toujours facile de déterminer si elles sont comparées en tant que nombres ou en tant que chaînes. Le tableau suivant montre comment les expressions sont comparées ou le résultat lorsque l’une ou l’autre des expressions n’est pas une variante.
Si | Then |
---|---|
Les deux expressions sont des types de données numériques (Byte, Boolean, Integer, Long, Single, Double, Date, Currency ou Decimal) | Effectuez une comparaison numérique. |
Les deux expressions sont de type String | Une comparaison de chaînes est effectuée. |
Une expression est de type numérique et l'autre de type Variant qui est, ou peut être, un nombre | Effectuez une comparaison numérique. |
Une expression est de type numérique et l'autre de type Variant de chaîne qui ne peut pas être convertie en nombre | Une Type Mismatch erreur se produit. |
Une expression est de type String et l'autre de type Variant, mais cette dernière ne peut pas avoir la valeur Null | Effectuez une comparaison de chaînes. |
Une expression est vide et l'autre est de type numérique | Effectuez une comparaison numérique, en utilisant 0 comme expression vide. |
Une expression est vide et l'autre est de type String | Effectuez une comparaison de chaînes, en utilisant une chaîne de longueur nulle ("") comme expression vide. |
Si expression1 et expression2 sont toutes deux des expressions de type Variant, leur type sous-jacent détermine comment elles sont comparées. Le tableau suivant montre comment les expressions sont comparées ou le résultat de la comparaison, en fonction du type sous-jacent du Variant.
Si | Then |
---|---|
Les deux expressions de type Variant sont numériques | Effectuez une comparaison numérique. |
Les deux expressions de type Variant sont des chaînes | Effectuez une comparaison de chaînes. |
Une expression de type Variant est numérique et l'autre est une chaîne | L'expression numérique est inférieure à l'expression de chaîne |
Une expression de type Variant est vide et l'autre est numérique | Effectuez une comparaison numérique, en utilisant 0 comme expression vide. |
Une expression de type Variant est vide et l'autre est une chaîne | Effectuez une comparaison de chaînes, en utilisant une chaîne de longueur nulle ("") comme expression vide. |
Les deux expressions de type Variant sont vides | Les expressions sont égales. |
Lorsqu'un réel simple est comparé à un réel double, le réel double est arrondi à la précision du réel simple. Si une devise est comparée à un réel simple ou un réel double, le réel simple ou le réel double est converti en devise.
De même, lorsqu'un décimal est comparé à un réel simple ou un réel double, le réel simple ou le réel double est converti en décimal. Pour une devise, toute valeur fractionnaire inférieure à 0,0001 risque d'être perdue ; pour un décimal, toute valeur fractionnaire inférieure à 1E-28 risque d'être perdue ou une erreur de dépassement peut se produire. Avec cette perte de valeur fractionnaire, les deux valeurs risquent d'être considérées comme égales, à tort.
Exemple
Cet exemple illustre différentes utilisations des opérateurs de comparaison en vue de comparer des expressions.
Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' Returns False.
MyResult = (45 = 45) ' Returns True.
MyResult = (4 <> 3) ' Returns True.
MyResult = ("5" > "4") ' Returns True.
Var1 = "5": Var2 = 4 ' Initialize variables.
MyResult = (Var1 > Var2) ' Returns True.
Var1 = 5: Var2 = Empty
MyResult = (Var1 > Var2) ' Returns True.
Var1 = 0: Var2 = Empty
MyResult = (Var1 = Var2) ' Returns True.
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.