UserForm Excel, CheckBox

Résolu
zebulon2503 Messages postés 1229 Date d'inscription   Statut Membre Dernière intervention   -  
zebulon2503 Messages postés 1229 Date d'inscription   Statut Membre Dernière intervention   -
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

--
Les cons peuvent avoir l'air intelligent à première vue... Heureusement pour eux que la vitesse de la lumière est supérieure à celle du son.

1 réponse

  1. pilas31 Messages postés 1878 Statut Contributeur 648
     
    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
    1. zebulon2503 Messages postés 1229 Date d'inscription   Statut Membre Dernière intervention   110
       
      Ouep, ca marche. Merci pour ta réponse, j'aurais du y penser :(
      A+
      Zebu
      0