VBA : Listes déroulantes

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. 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. Merci beaucoup benol cela fonctionne parfaitement ;)

      Michael
      0
  2. Modérateur
    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. Bonjour pijaku,

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

      Michael
      0
    2. Modérateur
      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. Modérateur
      Regardez cet exemple de silkyroad. Ce sont des combobox mais le principe est le même...
      0