Tester plusieur textbox vide

Reptilon -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je suis entrain de faire une macro sous excel en vba, et je n'arrive pas à faire une règle : j'ai plusieurs textbox (de 1 a 4) et un pushbutton.

J'aimerai que le pushbutton apparaît que si les 4 textbox soit remplit.

Quelqu'un pourrait m'aider svp ?

Merci

7 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Ou sont tes textbox? Feuille? Userform?
    De quel type formulaire? Activex?
    Qu'est ce qu'un pushbutton?
    0
  2. Reptilon
     
    Les textbox sont dans un Userform, et le pushbutton je voulais dire : commandButton pardon ^^
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Bonjour,

      Alors c'est très simple. Insère ce code dans le CommandButton :

      ADAPTER : les noms des contrôles CommadButton1 ou 10???
      TextBox de 1 à 4 ou autre....

      Private Sub CommandButton1_Click()
      Dim i As Integer, Cptr As Integer
      Cptr = 0
      For i = 1 To 4
      If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
      Next i
      If Cptr < 4 Then
      MsgBox "Les champs de 1 à 4 sont obligatoires!", vbCritical
      Else
      'place ici le code au cas ou tous les textbox sont remplis
      End If
      End Sub

      EDIT : pardon j'ai mal lu la question...
      Ma réponse dans 5 minutes...
      0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Re-

    Excuse moi, j'ai répondu trop vite en mélangeant plusieurs sujets...

    Voici le code à ajouter dans le module de l'UserForm.
    Attention, cela ne fonctionnera pas si tu utilises déjà les événements Exit de tes TextBox.
    Option Explicit

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim i As Integer, Cptr As Integer
    Cptr = 0
    For i = 1 To 4
    If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
    Next i
    If Cptr = 4 Then CommandButton1.Visible = True Else CommandButton1.Visible = False
    End Sub

    Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim i As Integer, Cptr As Integer
    Cptr = 0
    For i = 1 To 4
    If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
    Next i
    If Cptr = 4 Then CommandButton1.Visible = True Else CommandButton1.Visible = False
    End Sub

    Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim i As Integer, Cptr As Integer
    Cptr = 0
    For i = 1 To 4
    If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
    Next i
    If Cptr = 4 Then CommandButton1.Visible = True Else CommandButton1.Visible = False
    End Sub

    Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim i As Integer, Cptr As Integer
    Cptr = 0
    For i = 1 To 4
    If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
    Next i
    If Cptr = 4 Then CommandButton1.Visible = True Else CommandButton1.Visible = False
    End Sub

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

    Posez votre question
  5. Reptilon
     
    Merci beaucoup ! Je teste ça et je reviens te voir
    0
  6. Reptilon
     
    J'ai coller ton code mais j'ai toujours le commandButton invisible :(

    Je sens que c'est un code pas compliqué mais faut le trouver mdr
    0
  7. Reptilon
     
    J'ai une erreur de compilation en fait :

    Il me sélectionne "Option Explicit" en bleu

    Et il me sélectionne en jaune la toute première phrase dans le module "Sub projet()"
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Voir l'aide Excel pour Option Explicit...
      Tu peux, au choix :
      - supprimer la ligne Option Explicit
      - Placer cette ligne tout en haut de ton module...
      0
    2. Reptilon
       
      Du coup je le retrouve qu'avec Sub Projet() en jaune ^^ la toute première ligne.

      J'ai essayé plein de chose et toujours le même message
      0
    3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Que vient donc faire ta Sub Projet ici?????
      Le code que je t'ai donné doit être placé dans le module de l'userform tel qu'il est donné ici.

      Vois ce fichier exemple :
      https://www.cjoint.com/?DHhkAuc3fJl
      0
    4. Reptilon
       
      Je suis sur le tel donc je peux pas voir ton fichier.

      Y'a un truc que j'ai pas compris alors. Dans ma macro j'ai une feuille Userform1 et un module Module1. Je colle le code dans userform ?
      0
    5. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Je colle le code dans userform ?
      oui.
      0