Excel/macro : boucle complexe !

Résolu
Magicien Blanc Messages postés 78 Statut Membre -  
Magicien Blanc Messages postés 78 Statut Membre -
Bonjour,

Je suis en train de faire une macro sous Excel 2007.

Je suis à la recherche d'une solution pour pouvoir faire une boucle un peu tordue, où le compteur est utilisé pour passer d'un contôle à l'autre :
        UserForm1.lbl_enf__1__.Visible = True
        UserForm1.lbl_enf__2__.Visible = True
        UserForm1.lbl_enf__3__.Visible = True
        ...


ou encore

        UserForm1.txt_enf__1___prenom.Value = Cells(i, col_enf__1___prenom)
        UserForm1.txt_enf__2___prenom.Value = Cells(i, col_enf__2___prenom)
        UserForm1.txt_enf__3___prenom.Value = Cells(i, col_enf__3___prenom)


Auriez-vous avez une idée ?

1 réponse

  1. cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   383
     
    Bonjour,

    Peut-être ainsi :

    Dim I As Byte
    For I = 1 To 3
        With UserForm1
            .Controls("lbl_enf__" & I & "__").Visible = True
            ' et si la colonne des prénoms est la colonne "C"
            ' ainsi que les prénoms commencent en ligne 2
            .Controls("txt_enf__" & I & "___prenom").Value = Cells(I + 1, 3)
        End With
    Next I
    


    Peut-être....
    1
    1. Magicien Blanc Messages postés 78 Statut Membre 10
       
      PARFAIT !! merci beaucoup cousinhub29

      Enfin, dans le Cells, mettre quelque chose comme
      .Controls("txt_enf" & i & "_prenom").Value = Cells(i, "col_enf" & i & "_prenom")
      

      ne fonctionne pas, même si col_enf1_prenom est bien déclaré comme un entier. Mais, je me suis arrangé pour ne plus avoir besoin de composer le nom de la variable avec le compteur.
      0