ISNUMERIC ()

tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 - 9 août 2005 à 09:03
KC62 Messages postés 229 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 juin 2007 - 9 août 2005 à 13:19
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

mythic_kruger Messages postés 241 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 10 novembre 2005
9 août 2005 à 09:18
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)
0
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 1
9 août 2005 à 09:18
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...
0
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
9 août 2005 à 09:24
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...
0
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
9 août 2005 à 10:12
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KC62 Messages postés 229 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 juin 2007
9 août 2005 à 13:19
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 ...
0
Rejoignez-nous