Detecter erreur dans un TextBox à l'aide d'un While
theGG
-
Utilisateur anonyme -
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
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
A voir également:
- Detecter erreur dans un TextBox à l'aide d'un While
- Comment détecter un traceur sur téléphone - Accueil - Confidentialité
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
5 réponses
Bonjour,
quel VB?
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
Ok, vba c’est pas trop mon rayon.
Tu peux faire ça avec l’opérateur Like, ou avec une regex
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
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, ?
message d'erreur, comportement inattendu, ?
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
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
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.
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.