Bonjour
Voici ma subroutine :
Lorsque je lance le code, rien ne se passe pour cette partie codée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub UserForm_Activate() Dim Nbseq As Integer, m As Integer Nbseq = calculernbseq() For m = 1 To Nbseq Controls("OptionButtonTd" & m).Value = Not Controls("CheckboxCas" & m).Value Controls("OptionButtonTrTnd" & m).Value = Not Controls("CheckboxCas" & m).Value Controls("OptionButtonTd" & m).Enabled = Not Controls("CheckboxCas" & m).Value Controls("OptionButtonTrTnd" & m).Enabled = Not Controls("CheckboxCas" & m).Value Next End Sub
Tous les objets sont créés de cette manière :
i correspond à m dans l'autre partie du code (cette juste qu'il est dans une subroutine différente)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Set Obj = UserForm3.Controls.Add("forms.checkbox.1") With Obj .Name = "CheckboxCas" & i .Left = 38 'position par rapport au rebord gauche de l'UserForm .Top = 27 * i + 37 + decalver 'position par rapport au haut de l'UserForm .Width = 35 'largeur de la zone d'écriture .Height = 10 'hauteur de la zone d'écriture .Value = False .Visible = True .Font.Size = 8 End With
Mon souhait est qu'a l'activation de la Userform :
- Les CheckBoxCas (1 à Nbseq) est la valeur False
- Les 2 OptionButton (Td/TrTnd) (1 à Nbseq) est la valeur False et Enabled
Cette partie c'est bon avec la valeur du .Value et .Enabled à la creation des Objets
Ensuite ça se complique pour moi :
Lorsque la Userform est activité, je souhaiterais que lorsque l'on coche le CheckBoxCas & m les 2 OptionButton (du même m) se dé-Enabled (passe de True à False) et qu'un des deux OptionButton (Td par Exemple) passe de valeur False à True.
J'avais déjà fais appelle à votre aide pour un problème similaire mais ici, c'est plus compliqué. Je ne peux pas double cliquer sur l'objet et écrire un code associé (Private Sub CheckBoxCas_Click() par exemple) car ils ne sont pas présent dans la UserForm car ils sont générés au lancement du code.
J'espère avoir été assez explicite, si vous avez besoin de plus de précision dites le moi
Cordialement
Partager