Boucle - afficher plusieurs textbox piloté par checkbox
Bonjour a tous,
J'ai un soucis et j'ai beau tourner le code dans tous les sens je ne vois pas où est mon erreure. j'ai besoin d'aide !
j'ai un userform dans lequel j'ai 24 checkbox. chaque checkbox a un label (dont le caption est recup d'un userform précédent) ainsi que 3 textbox qui lui sont propres / liés.
a l'initialisation de l'userform, le label est bien récupéré, la "coche" de la checkbox est bien active ou pas en fonction du label (si label vide, checkbox = false)
mon problème est que, à l'initialisation de l'userform, je n'arrive pas à rendre invisible les 3 textbox si le label est vide ""(et/ou le checkbox =false), ça rend invisible un peu n'importe quoi.
(j'ai bien fait attention de bien placer dans l'ordre croissant les textbox :D, le pb est pas la :D)
Private Sub UserForm_initialize()
Dim A As String, B As String, j As String
A = RECETTE"
B = "Data"
UserForm3.Label30.Caption = Sheets(A).Range("c3").Value
'
Me.ComboBox1.Value = "0"
'
For i = 31 To 54 'label n° 31 à 54
'checkbox = i-30 pour 1 à 24
j = i - 28 'pour textbox de 3 à 74
UserForm3.Controls("Label" & i).Caption = Sheets(A).Range("b" & i - 23).Value
If Sheets(A).Range("b" & i - 23).Value = "" Then 'si valeur recup de label (textbox d'un userform précédent - valeur plus modifiable)
Controls("checkbox" & i - 30).Value = False '-30 pour checkbox de 1 a 24 ça marche
'de textbox j à...j+2 (3 textbox par checkbox)
UserForm3.Controls("textbox" & j).Visible = False
UserForm3.Controls("textbox" & j + 1).Visible = False
UserForm3.Controls("textbox" & j + 2).Visible = False
' Else
'End If
Else
Controls("checkbox" & i - 30).Value = True
End If
Next
End Sub
Merci de votre aide
bon bah j'ai trouvé, j'ai changé ma déclaration de variable j
j = (i - 30)*3
est ça marche. Merci a vous, dsl de embêtement :D