[VBA excel] Listes déroulantes fonction d'une sélection

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Louloute__

XLDnaute Nouveau

Bonjour le forum,

Je suis nouvellement inscrite et j'espère que vous allez pouvoir m'éclairer car je m'enfonce dans l'obscurité !

J'ai créé 2 userforms avec, pour le premier, 1 liste déroulante, pour le second, 2 listes déroulantes.

Les 2 listes du USF2 dépendent de la sélection dans la liste du USF1.

ex : si je sélectionne A dans USF1, les 2 autres listes de USF2 m'affichent des sous-catégories de A. Si je choisis B, ils doivent m'afficher des sous-catégories de B.

J'ai commencé à taper du code mais cela ne fonctionne pas :

Private Sub ComboBox3_Change()
' Détermine l'affichage dans le formulaire suivant des listes déroulantes
ComboBox3.Value = RowSource
Select Case (UserForm2.ComboBox1.Value)
Case "Atelier Hesser": ComboBox3.RowSource = "$D2:$D20"
Case "Atelier Suprême": ComboBox3.RowSource = "$H2:$H20"
End Select

Select Case (UserForm2.ComboBox2.Value)
Case "Atelier Hesser": ComboBox3.RowSource = "$F2:$F35"
Case "Atelier Suprême": ComboBox3.RowSource = "$J2:$J35"
End Select

End Sub


Si vous pouviez m'aider à résoudre ce problème !

Merci d'avance

 
Dernière édition:
Re : [VBA excel] Listes déroulantes fonction d'une sélection

Salut,

J'ai l'impression que tu t'es trompé de combo.

Si j'ai bien compris, la valeur du Combobox3 détermine les liste combo 1 et combo 2??


Si c'est le cas, fait un select case combobox3.value et modifie les rowsources de combo 1 et combo 2 en fonction de celui-ci.
 
Re : [VBA excel] Listes déroulantes fonction d'une sélection

Bonjour smotty, bonour chloulou !

C'est bien mon combobox3 (dans le USF1) qui détermine l'afichage des combobox 1 et 2 (dans le USF2).

Mais je n'ai pas bien saisi les corrections que tu me demandes de faire smotty ...

Peux-tu être plus explicite ???

Merci !
 
Re : [VBA excel] Listes déroulantes fonction d'une sélection

Bonjour Louloute,

Juste vite fait avant de me remettre au boulo, je pense que cette solution devrait te convenir.

Bon courage

Private Sub ComboBox3_Change()
' Détermine l'affichage dans le formulaire suivant des listes déroulantes

Select Case ComboBox3.Value
Case "Atelier Hesser"
userform2.ComboBox1.RowSource = "$D2:$D20"
userform2.ComboBox2.RowSource = "$F2:$F35"

Case "Atelier Suprême"
userform2.ComboBox1.RowSource = "$H2:$H20"
userform2.ComboBox2.RowSource = "$J2:$J35"

End Select
End Sub
 
Re : [VBA excel] Listes déroulantes fonction d'une sélection

Coucou smotty !

Ton code fonctionne à merveille ! C'est génial !

Mais maintenant je me rends compte que dans mes 2 combobox (du USF 2)les listes restent désespéremment vides malgrès la sélection de la combobox du USF 1.

Pourquoi ?

Je n'ai aucun code sur les combobox du USF 2. Faut-il que j'écrive qqch ??

Merci
 
Re : [VBA excel] Listes déroulantes fonction d'une sélection

J'ai testé et ça marche donc vérifie:

- que les listes sont bien dans la feuille ("Feuil1") sinon il faudra spécifier dans quelle feuille se trouvent tes listes, exemmple: rowsource="Feuil2!$H2:$H5"

- que j'ai bien noté les bonnes colones par rapport à ton tableau

En tout cas, tu n'es plus loin du résultat.
 
Re : [VBA excel] Listes déroulantes fonction d'une sélection

J'ai oublié une erreur possible. Je ne sais pas comment tu charges le combobox3 mais il faut que la valeur sélectionnée soit rigoureusement identique (casse comprise) à celle utilisée dans dont select case.

si tu veux éviter ce genre de problème tu peux enlever les espaces GAUCHE et DROITE, de ta sélection et tout mettre en majuscule, ce qui donne:

Private Sub ComboBox3_Change()
' Détermine l'affichage dans le formulaire suivant des listes déroulantes
dim S as string
S=trim(Ucase(combobox3.value))

Select Case S
Case "ATELIER HESSER"
userform2.ComboBox1.RowSource = "$D2:$D20"
userform2.ComboBox2.RowSource = "$F2:$F35"

Case "ATELIER SUPREME"
userform2.ComboBox1.RowSource = "$H2:$H20"
userform2.ComboBox2.RowSource = "$J2:$J35"

End Select
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
1 K
S
Réponses
8
Affichages
2 K
S
Retour