ISNUMERIC ()

Signaler
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
-
Messages postés
229
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
20 juin 2007
-
J'aimerais savoir s'il existait une commande de type "isnumeric()" pour les "lettres"...

enfaite, j'ai une inputbox, mais si le gar tape une lettre au lieu d'un chiffre il me foire tout alors voila...

il me faudrait un truc du genre:



Do


hello = inputbox("Indique ton nom...")



loop until IsAlphabetic(hello)



lol, j'ai mis "isalphabetic" mais cela ne marchera jamais...

je sais que je pourrais utiliser do while mais bon...

merci!

5 réponses

Messages postés
241
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
10 novembre 2005

IsNumeric() c'est bon http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctIsNumeric.asp

Il suffit de tester la chaine caractère par caractère avec une boucle de 1 à len(chaine)
Messages postés
123
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
25 juillet 2007
1
Que veux tu qu'il y ait exactement dans ta chaine ? Si tu ne souhaites saisir que des lettres, fait une fonction qui teste le contenu de la saisie et retourne VRAI s'il n'y a que des lettres...
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
32
Ben, je voulais juste savoir s'il
yavait une fonction qui m'indiquait si l'utilisateur avaient tapé que
des lettres (genre isnumeric () mais pour les caracteres alpha....)



Je peux aussi utilisé not isnumeric, mais s'il y a une fonction
spéciale pour ce genre dse chose, ben mon code serait plus clair...
Messages postés
158
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
16 juillet 2007

J'ai pas testé mais "Not IsNumeric" doit accepter les caractères spéciaux genre #,! etc. Tester tous les caractères comme mythic_kruger et pcvesoul le proposent n'est pas vraiment difficile. Essaie ça par exemple :

Function IsAlpha(ByVal s As String) As Boolean
'
Dim n As Integer
Dim i As Integer
'
n = Len(s)
s = UCase$(s)
For i = 1 To n
If Mid$(s, i, 1) < "A" Or Mid$(s, i, 1) > "Z" Then
IsAlpha = False
Exit Function
End If
Next
'
IsAlpha = True
'
End Function
Messages postés
229
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
20 juin 2007

Bonjour,
le problème du not isnumeric serait peut être que si l'utilisateur saisit toto01, il va te renvoyer que c'est pas numérique or il y aura des chiffres dedans quand meme.

La boucle semble la meilleur solution

function VerifNum (chaine as string) as boolean
VerifNum=true
for i = 1 to len(chaine)
if isnumeric(mid(chaine,i,1))
VerifNum = false
end if
next i
end function

En vérifiant caractère pas caractère du sait si tu as un chiffre dans le nom ou pas...
Code taper en live donc peut y avoir des erreur de compil mais l'idée est la ...

KC62

On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...