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

  1. 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
  2. Hector_dome Messages postés 3 Statut Membre
     
    Bonjour Whismeril,

    Autant pour moi, c'est du VBA Excel !

    theGG
    0
  3. 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
  4. Hector_dome Messages postés 3 Statut Membre
     
    Merci Whismeril, je prendrai le temps de vérifier avec regex ou Like.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, "ne fonctionne plus" = ?
    message d'erreur, comportement inattendu, ?
    0
    1. Hector_dome Messages postés 3 Statut Membre
       
      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
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Hector_dome Messages postés 3 Statut Membre
         
        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
      2. Utilisateur anonyme > yg_be Messages postés 23437 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