Contrôles conditionnels dans userform

Bonjour le forum,

Je souhaiterai mettre en place des contrôles de saisie dans mon Userform3 mais le nombre de conditions est trop important pour mon niveau de vba.

Dans le Userform3, il y a 4 frame (absence n°1, absence n°2, absence n°3 et absence n°4) dans chaque Frame il y a :

  • un checbox (oui),
  • deux optionbutton (jours d'absences ?, heures d'absences ?)
  • trois textbox (date de départ, date de retour, nombres d'heures)
  • un combobox (motif de l'absence).
le commandbutton1 "valider" du userform3 est grisé.

Voici les conditions pour pouvoir accéder au commandbutton "valider" du userform3.

Le commandbutton1 ne peut devenir accessible que si un des 4 checkbox est coché mais que :

  • si l'optionbutton "jours d'absences ?" est coché alors la date de départ, date de retour et le motif de l'absence doivent être saisie.
  • si l'optionbutton "heures d'absence ?" est coché alors la date de départ, le nombre d'heure et le motif de l'absence doivent être saisie.

Espérant avoir été claire.

Merci.

Titouan

https://www.cjoint.com/c/CLhmwze8PSx

Bonsoir le forum,

Voici les contrôles mais comment lui dire que le contrôle doit intervenir après que tous soit remplis ?

Private Sub activer()
    If TextBox1 <> "" And TextBox2 <> "" And ComboBox1.ListIndex > 0 Then
         CommandButton1.Enabled = True
    Else
         CommandButton1.Enabled = False
    End If
End Sub
Private Sub activer1()
    If TextBox1 <> "" And TextBox3 <> "" And ComboBox1.ListIndex > 0 Then
         CommandButton1.Enabled = True
    Else
         CommandButton1.Enabled = False
    End If
End Sub

Si quelqu'un pourrait me donner un coup de main ?

Titouan

Bonsoir le forum,

J'ai enfin trouvé la solution après une pressurisation de mes derniers neurones

Private Sub activer()
    If TextBox1 <> "" And TextBox2 <> "" And ComboBox1.ListIndex <> -1 Then
         CommandButton1.Enabled = True
    ElseIf TextBox1 <> "" And TextBox3 <> "" And ComboBox1.ListIndex <> -1 Then
        CommandButton1.Enabled = True
    Else
         CommandButton1.Enabled = False
    End If
End Sub
Private Sub textbox1_change()
activer
End Sub
Private Sub textbox2_change()
activer
End Sub
Private Sub textbox3_change()
activer
End Sub
Private Sub combobox1_change()
activer
End Sub

Après réflexion, je vais revoir le déroulement de mon formulaire.

Bonne soirée à tous.

Titouan

Rechercher des sujets similaires à "controles conditionnels userform"