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

Rechercher des sujets similaires à "boucle afficher textbox pilote checkbox"