VBA : Listes déroulantes

Mik-L Messages postés 21 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je souhaiterai afficher les items d'une liste déroulante L2 en fonction du choix fait sur une première liste déroulante L1.

Par exemple la liste L1 contient Item1 et Item2 et si on choisit Item1 de L1 alors la liste L2 affiche Item3 et Item4 en revanche si l'on choisit Item2 de L1 alors L2 affiche Item5 et Item6

Tout cela se fait dans un UserForm.

Je vous remercie d'avance.

Michael

2 réponses

  1. benol3 Messages postés 718 Statut Membre 87
     
    Salut,

    Il faut que tu test la valeur de ta liste1 à chaque fois qu'elle change et que tu modifie la source de ta liste2.

    voici un exemple :

     private_sub_listbox1_change()
    
    if listbox1.value="Item1" then
    listbox2.clear
    listbox2.Additem "Item 3"
    listbox2.Additem "Item 4"
    end if
    end sub
    
    1
    1. Mik-L Messages postés 21 Statut Membre 1
       
      Merci beaucoup benol cela fonctionne parfaitement ;)

      Michael
      0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Ou se situent les données remplissant les différentes listes (feuille? colonne? etc)?
    Comment sont elles organisées? en liste? liste par colonne? en ligne?
    0
    1. Mik-L Messages postés 21 Statut Membre 1
       
      Bonjour pijaku,

      La solution de benol est la bonne.
      Mais merci quand même ;)

      Michael
      0
    2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      La solution de benol est la bonne
      Ok si tu as deux trois valeurs dans la listbox1, mais si tu en as 20-30, tu fais 20-30 tests?
      0
    3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Regardez cet exemple de silkyroad. Ce sont des combobox mais le principe est le même...
      0