UserForm Excel, CheckBox

Résolu/Fermé
zebulon2503 Messages postés 1228 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 11 février 2016 - 26 mai 2009 à 13:56
zebulon2503 Messages postés 1228 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 11 février 2016 - 26 mai 2009 à 14:57
Salut,

j'ai un petit problème dans mon programme, je cherche depuis ce matin et n'arrive pas à résoudre...
Voilà l'histoire, j'ai un UserForm (appelé Departments) qui contient 5 CheckBox (case à cocher) et 2 boutons (OK de validation et Cancel pour annuler).

J'aimerais en cliquant sur OK que suivant les cases cochées mon programme lance différentes procédures (en passant en argument des variables différentes suivant les cases cochées), mais ca bug, pas moyen de passer les variables en paramètre. Voici le code :

Private Sub CheckBox1_Click() si la 1ere case est cochée, mettre "a" à 1
Dim a As Integer
a = 1
End Sub

Private Sub CheckBox2_Click() si la 2e case est cochée, mettre "b" à 1
Dim b As Integer
b = 1
End Sub

Private Sub CheckBox3_Click() si la 3e case est cochée, mettre "c" à 1
Dim c As Integer
c = 1
End Sub

Private Sub CheckBox4_Click() si la 4e case est cochée, mettre "d" à 1
Dim d As Integer
d = 1
End Sub

Private Sub CheckBox5_Click() si la 5e case est cochée, mettre "e" à 1
Dim e As Integer
e = 1
End Sub

Private Sub OK_Click(a, b, c, d, e As Integer) Fonctions à lancer avec "OK" avec a, b, c, d et e en paramètre
If a = 1 Then
    Call EDSEA
End If
If b = 1 Then
    Call EDSEB
End If
If c = 1 Then
    Call EDSEL
End If
If d = 1 Then
    Call EDSEP
End If
If e = 1 Then
    Call EDSES
End If
End Sub

Private Sub Cancel_Click() arrêt du UserForm si "Cancel"
Unload Me
End Sub

Suivant les valeurs de a, b, c, d et e, il faut que je lance une ou plusieurs sous procédures contenues dans un module séparé.
Tout ce code est dans le code du UserForm.

Si quelqu'un pouvait me conseiller svp...

Merci

Zebu
A voir également:

1 réponse

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
26 mai 2009 à 14:27
Bonjour,

A priori il suffit de tester dans le OK si les checkbox sont cochées ou non comme cela :

Private Sub OK_Click()
If CheckBox1 Then
    Call EDSEA
End If
If CheckBox2 Then
    Call EDSEB
End If
If CheckBox3 Then
    Call EDSEL
End If
If CheckBox4 Then
    Call EDSEP
End If
If CheckBox5 Then
    Call EDSES
End If
End Sub


Il n'est donc pas utile d'initialiser des variables a,b,c,d,e

A+
0
zebulon2503 Messages postés 1228 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 11 février 2016 110
26 mai 2009 à 14:57
Ouep, ca marche. Merci pour ta réponse, j'aurais du y penser :(
A+
Zebu
0