Utilisation de IsNumeric et IsNumber en VBA

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on décembre 23, 2021

Ce tutoriel vous apprendra à utiliser les fonctions IsNumeric et IsNumber en VBA pour vérifier si des valeurs sont des nombres.

IsNumeric est une fonction VBA intégrée, tandis que IsNumber est une fonction Excel qui peut être appelée à partir du code VBA.

Différence entre IsNumber et IsNumeric en VBA

IsNumber vérifie si une valeur est stockée sous forme de nombre. Alors que IsNumeric vérifie si une valeur peut être convertie en un nombre.

Par exemple, si vous passez une cellule vide comme paramètre, IsNumber renverra FALSE, alors que IsNumeric renverra TRUE. De même, si vous passez une cellule contenant un nombre stocké sous forme de texte, IsNumber renverra FALSE et IsNumeric VRAI.

Vous devez prêter attention à ces limitations des deux fonctions et décider dans quels cas il est préférable d’utiliser IsNumeric et quand IsNumber.

Utilisation de IsNumeric en VBA

IsNumeric est la fonction VBA qui vérifie si une valeur est numérique et renvoie un booléen VRAI ou FAUX comme résultat.

La fonction peut prendre une variable ou une valeur de cellule.

Voici un exemple en utilisant une valeur de cellule :

If IsNumeric(Feuil1.Range("A1").Value) = True Then
    MsgBox "La valeur dans la cellule A1 est numérique"
Else
    MsgBox "La valeur dans la cellule A1 n'est pas numérique"
End If

Dans cet exemple, nous vérifions si la valeur de la cellule A1 est numérique en utilisant la fonction IsNumeric. Cette fonction renvoie le message approprié, en fonction du résultat de la fonction.

L’exemple suivant effectue la même opération, mais avec une variable au lieu d’une valeur de cellule :

Dim n As Variant

n = Feuil1.Range("A1").Value

If IsNumeric(n) = True Then
    MsgBox "La valeur dans la cellule A1 est numérique"
Else
    MsgBox "La valeur dans la cellule A1 n'est pas numérique"
End If

Utilisation de IsNumber en VBA

IsNumber est une fonction Excel qui peut être utilisée en VBA. Elle a un résultat presque similaire à celui de IsNumeric. Examinons l’exemple de la fonction IsNumber :

If Application.WorksheetFunction.IsNumber(Feuil1.Range("A1").Value) = True Then
    MsgBox "La valeur dans la cellule A1 est numérique"
Else
    MsgBox "La valeur dans la cellule A1 n'est pas numérique"
End If

Comme vous pouvez le voir dans le code, la différence se situe au niveau de la syntaxe lors de l’appel de la fonction. Puisque IsNumber est une fonction Excel, nous devons mettre Application.WorksheetFunction avant l’appel de la fonction.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA