Detecter erreur dans un TextBox à l'aide d'un While

theGG -  
 Utilisateur anonyme -
Bonjour,

Je suis en train de réaliser un formulaire qui, dans un premier temps demande à l'utilisateur de saisir son nom et prénom, pour que je puisse les réutiliser afin de récuperer des information sur celui-ci.
Donc, j'ai besoin de bien verifier si l'utilisateur a bien saisi quelque chose , puis verifier s'il a n'a pas saisi des caractères numerique ou autres en plus.

erreur à détecter : "loic0" , " ", "125" , ....

le code que j'ai réaliser ne fonctionne plus une fois qu'un des deux champ est vide ou les deux.
Merci pour votre aide !

Private Sub Next_bmr_Click()

Dim Nom As String
Dim Prenom As String
Dim res As Boolean

res = False

Nom = TextBox1.Text
Prenom = TextBox2.Text

While res = False
If Nom <> "" And Prenom <> "" Then
res = True
MsgBox "Bienvenue " & Prenom & " " & Nom & "!"
Unload Me 'ou Unload Acceuil_1
Acceuil_2.Show
Else
MsgBox "Saisissez Votre Nom et Prénom"
res = False
End If
Wend
End Sub


5 réponses

Utilisateur anonyme
 
Bonjour,
quel VB?
  • VBS
  • VBA -> précisez:
    • Word
    • Excel
    • Access
    • Powerpoint
    • Autre
  • VB6 (ou antérieur, précisez)
  • VB.Net - précisez la Framework et ->
    • Winform
    • WPF


0
Hector_dome Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Whismeril,

Autant pour moi, c'est du VBA Excel !

theGG
0
Utilisateur anonyme
 
Ok, vba c’est pas trop mon rayon.
Tu peux faire ça avec l’opérateur Like, ou avec une regex
http://regexstorm.net/tester?p=%5cb%5bA-Z%5d%5ba-z%5d*%5cb&i=Mot+des123etdeslettres+pasdemajuscule+Majuscule+CamelCase
0
Hector_dome Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Whismeril, je prendrai le temps de vérifier avec regex ou Like.
0

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

Posez votre question
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, "ne fonctionne plus" = ?
message d'erreur, comportement inattendu, ?
0
Hector_dome Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
en fait, je souhaite que mon code me permet de faire ainsi :

une boite de dialogue s'affiche -> l'utilisateur saisi ou pas des information (ici Nom & Prénom) -> si tout est bon, on passe à l'étape suivante (cette partie marche bien ) -> si non , l'utilisateur n'a pas saisi une ou les deux infos demandées donc un msgbox apparait disant à l'utilisateur qu'il oublié de remplir une ou les deux case (( et c'est ici que mon code ne marche pas) .

donc quand le l'utilisateur ne saisi pas une des information demandées le msg box apparait, le but c'est quand on clique sur ok (le ok du msgbox) on retourne à la meme même boite de dialogue ou on demande les info, sauf qu'au lieu de quitter ca s'affiche de nouveau en boucle .

j'ai réécris le code d'une autre manière mais sans succès.


Private Sub Next_bmr_Click()

Dim Nom As String
Dim Msg2 As String
Dim Prenom As String
Dim res As Boolean

res = False
Msg2 = "N'hésitez pas à solliciter l'aide pour toute information."

Nom = TextBox1.Text
Prenom = TextBox2.Text

Do
If Nom <> "" And Prenom <> "" Then
res = True
Sheets("Feuil2").Range("A2") = Nom
Sheets("Feuil2").Range("B2") = Prenom
Sheets("Feuil2").Range("C2") = Prenom & "." & Nom & "@engie.com"
MsgBox "Bienvenue " & Prenom & " " & Nom & "!" & " " & Msg2

Unload Me 'ou Unload Acceuil_1
Acceuil_2.Show
Exit Do ' => Si réponse = Oui on sort de la boucle
End If
Loop While 1 = 1 ' => Boucle infinie


End Sub
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Hector_dome Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
et en supprimant ces trois lignes, que se passe-t-il?
Do 
Exit Do ' => Si réponse = Oui on sort de la boucle 
Loop While 1 = 1 ' => Boucle infinie

 
0
Utilisateur anonyme > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Ha oui, j’avais mal compris la question.
Yg_be a raison, il ne faut pas utliser une boucle (quelle qu’elle soit) car ça affiche le message et dès que tu cliques sur Ok, ça reboucle, reteste les valeurs que tu n’as pas eu le temps de modifier réafficher le message etc...

On voit que ton code est abonné à l’événement click d’un contrôle.
Sans boucle le message s’affiche, tu cliques sur ok, tu changes les valeurs et tu recliques sur le contrôle.
0