[VBA Excel] Comment vérifier si une variable est un entier / string

Comment vérifier si une variable est un entier / string [VBA Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 22-07-2004 à 12:27:47    

Le premier qui me répond à la marque de bronzage pour string  :pfff:  :)  
 
J'ai besoin de controler le type des variables : savoir s'il s'agit d'un integer ou d'un string ou d'autre type.
 
Une idée?
 
D'avance merci!

Reply

Marsh Posté le 22-07-2004 à 12:27:47   

Reply

Marsh Posté le 22-07-2004 à 13:46:40    

varType est ton ami. Et pour le bronzage, laisse tomber...

Reply

Marsh Posté le 22-07-2004 à 14:05:01    

J'ai plus de sympathie pur TypeName en l'occurence, mais jamais je n'aurais pu la rencontrer sans l'aide de mes deux nouveaux amis : toi et VarType... :)
 
Un très grand merci!!!

Reply

Marsh Posté le 22-07-2004 à 16:09:28    

Hmpf.
 
A la limite, isNumeric permet aussi de vérifier qu'une chaîne de caractère n'est pas un nombre, ça peut servir aussi.

Reply

Marsh Posté le 26-07-2004 à 17:12:24    

Vi vi. Mais en l'occurence, il me fallait m'assurer qu'un chiffre était un entier : j'ai fini par utiliser le reste de la division via "mod".
 
Merci bien en tout cas!

Reply

Marsh Posté le 26-07-2004 à 20:13:11    

if clng(toto) = cdbl(toto) then
 
C'est plus simple (et plus lisible qu'un mod)

Reply

Marsh Posté le 27-07-2004 à 16:17:10    

Merci, merci!

Reply

Marsh Posté le 30-10-2008 à 10:51:54    

En même temps, TypeName comme Vartype ne sont pas suffisantes (en soi) pour vérifier que, par exemple, une valeur entière n'a pas été rentrée comme un double/simple/long. Perso dans mon cas, les valeurs étaient inscrites sur une feuille Excel, et cela dépend du format de la cellule considérée !
 
Ainsi, je pense que le code ci-dessous permet de faire face à tous les cas, sans générer d'erreur
 
' Check if the value is an integer
           
' str is a string showing the value type
str = TypeName(##votre variable ici##)
             
' Values can be Integer or Empty
If str <> "Integer" And str <> "Empty" Then
                 
     ' But if they are Long, Single, or Double, it can be a conversion mistake
     If str = "Long" Or str = "Single" Or str = "Double" Then
          If ##votre variable ici## <> Int(##votre variable ici##) Then
               ##code à effectuer si votre variable n'est pas un entier##
          End If
     Else
          ##code à effectuer si votre variable n'est pas un entier##
     End If
End If
 
En espérant que ça aidera quelqu'un :-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed