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 -
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 :
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.
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.
A voir également:
- UserForm Excel, CheckBox
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Trier un tableau excel - Guide
- Déplacer colonne excel - Guide
1 réponse
Bonjour,
A priori il suffit de tester dans le OK si les checkbox sont cochées ou non comme cela :
Il n'est donc pas utile d'initialiser des variables a,b,c,d,e
A+
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+
A+
Zebu