Bonjour,
J'ai un userform qui contient 10 checkbox que l'utilisateur peut cocher indépendemment les uns des autres.
A chaque changement d'état d'une checkbox, un textbox invisible devient visible à côté du checkbox pour que l'utilisateur y rentre une valeur.
Pour remplacer mon code à rallonge ci-après j'ai tenté plusieurs solutions pour créer une boucle afin de réduire ce code, mais aucune solution que j'ai essyée n'a fonctionné.
Le mieux que j'aie trouvé qui fonctionne c'est d'appeler une fonction, mais je pense qu'il y a plus simple... donc si quelqu'un a une piste...
Et la fonction
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
16
17
18
19
20
21 Private Sub Condi1_Click() Num = 1 CondiEvenement Num End Sub Private Sub Condi2_Click() Num = 2 CondiEvenement Num End Sub '... '... '... Private Sub Condi9_Click() Num = 9 CondiEvenement Num End Sub Private Sub Condi10_Click() Num = 10 CondiEvenement Num End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub CondiEvenement(ByRef Num As Byte) If Me.Controls("Condi" & Num).Value = True Then Me.Controls("QteCondi" & Num).Visible = True Me.Controls("QteCondi" & Num).SetFocus Else Me.Controls("QteCondi" & Num).Visible = False Me.Controls("QteCondi" & Num).Value = "" End If End Sub
Partager