En plus de vérifier les conditions If...Then...Else et Select Case, nous pouvons également utiliser les vérifications suivantes :
IsNumeric (la fonction que nous avons utilisée dans la leçon précédente) renvoie VRAI (TRUE) si la valeur est un nombre, et FAUX (FALSE) si - n'est pas un nombre :
If IsNumeric(Range("A1")) = True Then 'SI LA VALEUR EST UN NOMBRE...
Le code suivant produit le même effet que le précédent (nous n'avons pas besoin d'inclure = True car la construction elle-même est une vérification de condition) :
If IsNumeric(Range("A1")) = True Then 'SI LA VALEUR EST UN NOMBRE...
Si nous voulons vérifier si une valeur n’est pas un nombre, nous pouvons le faire de deux manières :
If IsNumeric(Range("A1")) = False Then 'SI LA VALEUR N'EST PAS UN CHIFFRE...
If Not IsNumeric(Range("A1")) Then 'SI LA VALEUR N'EST PAS UN CHIFFRE...
Examinons quelques fonctions supplémentaires similaires à IsNumeric :
If IsDate(Range("A1")) Then 'SI LA VALEUR EST LA DATE...
If IsEmpty(Range("A1")) Then 'SI VIDE...
If var_object Is Nothing Then 'SI L'OBJET N'EST PAS DÉFINI...
Pour exécuter des commandes basées sur le type d'une variable, nous devrons utiliser la fonction VarType.
La liste des types de variables apparaîtra dès que l'on entrera le signe "=" :
If VarType(my_variable) = vbInteger Then 'SI my_variable est de type variable Integer ...
Valeurs des constantes :
Constante | Valeur |
---|---|
vbEmpty | 0 |
vbNull | 1 |
vbInteger | 2 |
vbLong | 3 |
vbSingle | 4 |
vbDouble | 5 |
vbCurrency | 6 |
vbDate | 7 |
vbString | 8 |
vbObject | 9 |
vbError | 10 |
If VarType(my_variable) = vbInteger Then 'SI my_variable est de type variable Integer ... 'Est identique à : If VarType(my_variable) = 2 Then 'SI my_variable est de type variable Integer ...
Un peu plus tôt, nous avons utilisé l'extrait de code suivant :
my_variable = "Example 12345" If my_variable = "Example 12345" Then '=> VRAI (TRUE)
Dans ce cas, les deux bandes sont identiques, mais si l'on veut vérifier si la variable contient la valeur "12345" ; sans considérer les autres caractères, nous devons alors utiliser la commande Like et l'opérateur * (astérisque) avant et après la valeur que nous recherchons.
L'opérateur * (astérisque) se déchiffre comme : tout caractère ou ensemble de caractères :
my_variable = "Example 12345" If my_variable Like "*12345*" Then '=> VRAI (TRUE)
L'opérateur # (hachage) est décodé comme : tout caractère numérique unique de 0 à 9 :
my_variable = "Example 12345" If my_variable Like "Example 12###" Then '=> VRAI (TRUE)
Opérateur? (point d'interrogation) est déchiffré comme : n'importe quel caractère unique :
my_variable = "Example 12345" If my_variable Like "?xample?1234?" Then '=> VRAI (TRUE)
On peut également utiliser des caractères spécifiques ou un ensemble de caractères de la même manière :
my_variable = "Example 12345" If my_variable Like "[DEF]xample 1234[4-7]" Then '=> VRAI (TRUE)
Opérateur! (point d'exclamation) ajouté après [ signifiera : tout caractère non mis entre crochets :
my_variable = "Example 12345" If my_variable Like "[!GHIJ]xample 1234[!6-9]" Then '=> VRAI (TRUE)