Bonjour à tous,
Je voudrais faire exactement ce que j'ai trouvé sur un autre site (dont j'ai obtenu le lien sur ce magnifique forum qu'est celui-ci !).
Formation Excel VBA JB (voir pour avoir le fichier excel)
L'idée est donc de faire une un UserForm avec à gauche une liste et à droite des listes qui s'affichent en fonction de ce qu'on a sélectionné dans la première liste.
Sur le site, vous pourrez télécharger le document excel où la macro fonctionne. J ai remis le code ci-dessous. Je n'arrive pas à comprendre le "choix1=DECALLER;..." lorsque je refais ce VBA dans mon propre document excel avec d'autres listes, je ne vois pas comment attribuer sous VBA la fonction DECALLER à "choix1" ?
Pourtant ça a l'air super simple puisqu il n'y a que 4 lignes de codes :-(
Help please !
Merci
Listes en cascade
Noms de champ
Choix1 =DECALER($A$1;;;;NBVAL($1:$1))
Choix2 =$A$2:$A$100
Private Sub UserForm_Initialize()
Me.ListBox1.List = Application.Transpose(Range("choix1"))
End Sub
Private Sub ListBox1_Click()
choix = Me.ListBox1.ListIndex
Me.ListBox2.List = [choix2].Offset(, choix).Resize(Application.CountA([choix2].Offset(, choix))).Value
End Sub
ListeCascade
Je voudrais faire exactement ce que j'ai trouvé sur un autre site (dont j'ai obtenu le lien sur ce magnifique forum qu'est celui-ci !).
Formation Excel VBA JB (voir pour avoir le fichier excel)
L'idée est donc de faire une un UserForm avec à gauche une liste et à droite des listes qui s'affichent en fonction de ce qu'on a sélectionné dans la première liste.
Sur le site, vous pourrez télécharger le document excel où la macro fonctionne. J ai remis le code ci-dessous. Je n'arrive pas à comprendre le "choix1=DECALLER;..." lorsque je refais ce VBA dans mon propre document excel avec d'autres listes, je ne vois pas comment attribuer sous VBA la fonction DECALLER à "choix1" ?
Pourtant ça a l'air super simple puisqu il n'y a que 4 lignes de codes :-(
Help please !
Merci
Listes en cascade
Noms de champ
Choix1 =DECALER($A$1;;;;NBVAL($1:$1))
Choix2 =$A$2:$A$100
Private Sub UserForm_Initialize()
Me.ListBox1.List = Application.Transpose(Range("choix1"))
End Sub
Private Sub ListBox1_Click()
choix = Me.ListBox1.ListIndex
Me.ListBox2.List = [choix2].Offset(, choix).Resize(Application.CountA([choix2].Offset(, choix))).Value
End Sub
ListeCascade