Bonjour,
Hormis la fonction "IsNumeric" pour les variables de type entier, j'aimerais savoir si quelqu'un de vous sait comment tester si une variable est de type "réel".
J'ai trouvé une solution à ce problème par la méthode suivante :
1. on prend la variable en tant que chaine de caractère
2. On fait une boucle "for" parcourant tous les caractère de la variable
3. Pour chaque caractère, on teste si sa valeur Ascii est comprise entre 48 et 57 (0 à 9) ou égale à 46 ( le "." séparant la partie entière de la pertie décimale)
4. Si on rencontre ce ".", on teste si l'utilisateur n'a pas saisie un "." au caractère précédent.
CODE :
Dim test as boolean
Dim i as integer
Dim tableau(15) as integer
For i = 1 to len(MaVariable)
tableau(i) = mid(MaVariable, i , 1)
Next
test = false
i = 1
While i <= len(MaVariable) and test = false
If i = 1 then
If asc(mid(MaVariable, i , 1)) >= 48 and asc(mid(MaVariable, i , 1)) <= 57 then
i = i + 1
test = false
Else
If asc(mid(MaVariable, i , 1)) = 46 then
i = i + 1
test = false
else
test = true
end if
End if
Else
If asc(mid(MaVariable, i , 1)) >= 48 and asc(mid(MaVariable, i , 1)) <= 57 then
i = i + 1
test = false
Else
If asc(mid(MaVariable, i , 1)) = 46 then
if asc(mid(MaVariable, i - 1 , 1)) = 46 then
test = true
else
i = i + 1
test = false
end if
else
test = true
end if
End if
End if
Wend
if test = true then
" Variable pas de type réel "
else
"Ok"
end if
#########################
Cela est bien joli, long est casse tête mais si vous avez d'autres proposition, à vous de jouer............
Merci encore pour votre aide et votre participation !!!!!!!!!!!!