Alors, les explications, c'est pas trop mon fort, mais essayons. Le principe général est l'utilisation de tableaux.
* A l'initialisation de l'usf, on place le contenu de la feuille dans le tableau 'Tdata' et on lance la procédure "filtre"
* A la modif des combo, on lance également cette même procédure "filtre"
* La procédure "filtre" est basée sur le principe de sélections itératives des lignes du tableau 'Tdata', en premier sur le combo1 (si pas vide) puis sur le combo2 (si pas vide), en sortie on obtient donc le tableau filtré 'T' duquel on extrait les listes dédoublonnées (et donc également filtrées) pour les 2 combo.
Et on complète la listbox avec le tableau obtenu en sortie.
(Nb : on pourrait facilement multiplier les combo de filtre en ajoutant des lignes T=select_T... à la suite des autres)
Pour mes fonctions génériques (que je copie/colle tel-quel dans beaucoup de mes projets) :
* la fonction Select_T renvoie un tableau dont les valeurs de la colonne n°'col' correspondent à la valeur 'S' depuis le tableau 'Ttk'.
* la fonction Combo_T renvoie une liste triée de valeurs uniques de la colonne 'col' du tableau 'Ttk'
Ces fonctions (dont je suis l'auteur) permettent en effet un code de l'usf très concis (et ça me permet de raccourcir très nettement le temps de dév pour mes appli à livrer : les clients sont toujours pressés!!)
Est-ce que c'est suffisamment explicite?
Pierre