Bonjour


Voici ma subroutine :

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
Lorsque je lance le code, rien ne se passe pour cette partie codée.

Tous les objets sont créés de cette manière :

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
i correspond à m dans l'autre partie du code (cette juste qu'il est dans une subroutine différente)

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