Bonjour,
sous Excel 2003, je souhaiterai créer un Userform choix multiple (plusieurs cases à coher possibles) qui attribue une valeur à des variables déclarées en Public (utilisable dans les différentes macro d'une même fenêtre).
Une macro effectuera ensuite une action selon la valeur de ces variables (dans mon exemple la macro écrit "OK" ou "NON" dans certaines cellules du tableau)
Voici le programme auquel j'avais pensé. La boite de dialogue apparait, je peux cocher les cases mais elle ne se désactive pas après avoir clicker sur "Valider" ou "Annuler" m'empêchant de savoir si les valeurs ont été affectées.
'Déclaration des variables en Public
Public TEST_1 as String
Public TEST_2 as String
Public TEST_3 as String
Public TEST_4 as String
Public TEST_5 as String
'Affectation des valeurs aux variables selon le cochage ou non des cases correspondantes
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then TEST_1 = OK
Else TEST_1 = NON
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then TEST_2 = OK
Else
TEST_2 = NON
End If
End Sub
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then TEST_4 = OK
Else
TEST_4 = NON
End If
End Sub
Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then TEST_3 = OK
Else
TEST_3 = NON
End If
End Sub
Private Sub CheckBox5_Click()
If CheckBox5.Value = True Then TEST_5 = OK
Else
TEST_5 = NON
End If
End Sub
Private Sub CommandButton1_Click() 'Fermeture de la boite de dialogue apres un click sur "Valider"
Unload Me
End Sub
Private Sub CommandButton2_Click() ' si l'on clique sur "Annuler" les valeurs des variables sont réinitialisées
TEST_5 = NON
TEST_3 = NON
TEST_1 = NON
TEST_2 = NON
TEST_4 = NON
Unload Me
End Sub
Sub Macro1()
'
Userform1.Show
‘ afficher les valeurs prises par les variables pour vérification
Range("A1") = Test_1
Range("A2") = Test_2
Range("A3") = Test_3
Range("A4") = Test_4
Range("A5") = Test_5
End Sub
Si quelqu'un connait une solution à mon problème, je suis intéressé.
sous Excel 2003, je souhaiterai créer un Userform choix multiple (plusieurs cases à coher possibles) qui attribue une valeur à des variables déclarées en Public (utilisable dans les différentes macro d'une même fenêtre).
Une macro effectuera ensuite une action selon la valeur de ces variables (dans mon exemple la macro écrit "OK" ou "NON" dans certaines cellules du tableau)
Voici le programme auquel j'avais pensé. La boite de dialogue apparait, je peux cocher les cases mais elle ne se désactive pas après avoir clicker sur "Valider" ou "Annuler" m'empêchant de savoir si les valeurs ont été affectées.
'Déclaration des variables en Public
Public TEST_1 as String
Public TEST_2 as String
Public TEST_3 as String
Public TEST_4 as String
Public TEST_5 as String
'Affectation des valeurs aux variables selon le cochage ou non des cases correspondantes
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then TEST_1 = OK
Else TEST_1 = NON
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then TEST_2 = OK
Else
TEST_2 = NON
End If
End Sub
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then TEST_4 = OK
Else
TEST_4 = NON
End If
End Sub
Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then TEST_3 = OK
Else
TEST_3 = NON
End If
End Sub
Private Sub CheckBox5_Click()
If CheckBox5.Value = True Then TEST_5 = OK
Else
TEST_5 = NON
End If
End Sub
Private Sub CommandButton1_Click() 'Fermeture de la boite de dialogue apres un click sur "Valider"
Unload Me
End Sub
Private Sub CommandButton2_Click() ' si l'on clique sur "Annuler" les valeurs des variables sont réinitialisées
TEST_5 = NON
TEST_3 = NON
TEST_1 = NON
TEST_2 = NON
TEST_4 = NON
Unload Me
End Sub
Sub Macro1()
'
Userform1.Show
‘ afficher les valeurs prises par les variables pour vérification
Range("A1") = Test_1
Range("A2") = Test_2
Range("A3") = Test_3
Range("A4") = Test_4
Range("A5") = Test_5
End Sub
Si quelqu'un connait une solution à mon problème, je suis intéressé.
Pièces jointes
Dernière édition: