Utiliser Isnumeric et Isnumber dans VBA

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.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave