knoech
Messages postés4Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention22 décembre 2008
-
22 déc. 2008 à 18:49
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 2016
-
22 déc. 2008 à 23:34
Bonjour, je viens chercher un peu d'aide pour un petit soucis
Je cherche a ouvrir une fenêtre du type MsgBox "Vous ne devez saisir que du texte" quand l'utilisateur rentre du texte et des chiffres en même temps dans une TextBox...
J'arrive a retourner l'erreur et afficher l'erreur quand les valeurs numériques sont rentrées seules ("0125") ou au début de la chaine ('"14mois"), mais je n'y arrive pas quand les valeurs numériques sont écrites au milieu ou à la fin de la chaine par exemple : "lok01" ou "lo12erd"
Il me faudrait surement une fonction qui parcours la chaine de caractères et vérifie qu'il n'y a pas de valeurs numérique (avec IsNumeric) ou que des valeur alphabétique mais je ne trouve pas.
Merci de votre aide, en espérant avoir été clair dans mon explication.
A voir également:
Cherche un renvoi d'erreur quand valeurs numérique et caractères saisie en même
MOUSSAOUIAAZIZ
Messages postés48Date d'inscriptionsamedi 5 août 2006StatutMembreDernière intervention 9 novembre 2009 22 déc. 2008 à 20:48
Salut;
je t'exscuse car tu debute en VB mais est ce que tu a vue l'instruction Exit For ???
For i = 1 To Len(a)
If IsNumeric( Right( Left(a,i) ,1) ) Then
MsgBox "err"
Exit For
End If
Next i
Cette instruction permet de sortir de la boucle quand le premier chiffre apparaît
Et dans ce cas il envoi un message d’erreur et sort de la boucle donc plus d’autre message
MOUSSAOUIAAZIZ
Messages postés48Date d'inscriptionsamedi 5 août 2006StatutMembreDernière intervention 9 novembre 2009 22 déc. 2008 à 19:46
salut;
solution possible, et voici une autre:
For i = 1 To Len(a)
If IsNumeric( Right( Left(a, i) ,1) ) Then
MsgBox "err"
Exit For
End If
Next i
comme ca tu va tester chaque caractere de ta chaine,
left("caractere",3) = "car"
right("car",1) = "r"
knoech
Messages postés4Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention22 décembre 2008 22 déc. 2008 à 20:17
Je ne sais pas empêcher la saisie de valeurs numériques, je débute en VB
Moussaouiaaziz j'ai déjà plus ou mois essayé cette solution et dans ce cas là cela renvoi plusieurs fenêtres msgbox si l'utilisateur rentre plus d'un chiffre? Car je voudrais une seule fenêtre qui signale d'erreur si c'est possible
Vous n’avez pas trouvé la réponse que vous recherchez ?
knoech
Messages postés4Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention22 décembre 2008 22 déc. 2008 à 21:01
A non en effet j'avais pas fait attention à ce petit détails, j'ai essayé rapidement cela fonctionne.
D'accords donc cela arrête le compteur dès qu'il trouve une erreur, bon j'étais pas trop loin il me manquais juste le "Exit For" mais bon quand on connais pas on peu chercher un moment...
Un grand Merci à vous 2
P.S: Il faut que j'accepte ta réponse pour mettre le sujet en résolu?
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 22 déc. 2008 à 22:59
Salut,
Je suis du même avis que PCPT(salut ), autant empêcher dessuite la saisie de numérique, au lieu de laisser l'utilisateur saisir et une fois qu'il à saisie de lui dire : ah non ! vous ne pouvez pas saisir de numérique !! veuillez recommencer !
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 22 déc. 2008 à 23:34
C'est pas dit....Si tu as par exemple un Label et un TextBox :
Nom(label) Zone de saisie(TextBox)
Tu vois bien que dans le textbox, tu ne va pas entrer de chiffre pour un nom....donc empêcher la saisie directement sans "informé" l'utilisateur...car l'information que l'utilisateur a, et le descriptif du label(nom), il sait par defaut, qu'il ne devrat saisir que des lettres ^^..enfin...c'est mon avis