Ce tutoriel vous apprendra à utiliser le EstNumérique et EstNuméro fonctions dans VBA pour vérifier si les 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 dans 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 nombre.
Par exemple, si vous passez une cellule vide en tant que paramètre, IsNumber renverra FALSE, tandis que IsNumeric renverra TRUE. De plus, si vous passez une cellule contenant un nombre stocké sous forme de texte, IsNumber renverra FALSE et IsNumeric TRUE.
Vous devez faire attention à ces limitations des deux fonctions et décider dans quels cas il est préférable d'utiliser IsNumeric et quand IsNumber.
Utiliser IsNumeric dans VBA
EstNumérique est la fonction VBA qui vérifie si une valeur est numérique et renvoie un booléen TRUE ou FALSE en conséquence.
La fonction peut prendre une variable ou une valeur de cellule.
Voici un exemple de prise de valeur de cellule :
12345 | Si IsNumeric(Sheet1.Range("A1").Value) = True ThenMsgBox "La valeur dans A1 est numérique"AutreMsgBox "La valeur dans A1 n'est pas numérique"Fin si |
Dans cet exemple, nous vérifions si la valeur de la cellule A1 est numérique à l'aide de IsNumeric. Cette fonction renvoie le message approprié, selon le résultat de la fonction.
L'exemple suivant effectue la même opération, sauf avec une variable au lieu d'une valeur de cellule :
123456789 | Dim n comme varianten = Feuille1.Plage("A1").ValeurSi IsNumeric(n) = True AlorsMsgBox "La valeur dans A1 est numérique"AutreMsgBox "La valeur dans A1 n'est pas numérique"Fin si |
Utiliser IsNumber dans VBA
EstNuméro est une fonction Excel, qui peut être utilisée dans VBA. Il a une sortie presque similaire à IsNumeric. Regardons l'exemple de la fonction IsNumber :
123456789 | Si Application.WorksheetFunction.IsNumber(Sheet1.Range("A1").Value) = True ThenMsgBox "La valeur dans A1 est numérique"AutreMsgBox "La valeur dans A1 n'est pas numérique"Fin si |
Comme vous pouvez le voir dans le code, la différence réside dans la syntaxe lors de l'appel de la fonction. Puisque IsNumber est la fonction Excel, nous devons mettre Application.WorksheetFunction avant l'appel de fonction.