Boucle sur plusieurs checkbox dans un userform
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...
Code:
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 |
Et la fonction
Code:
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 |