Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Formule Trier-Unique-Filtre dans liste déroulante.

matthieuS

XLDnaute Nouveau
Bonjour à tous,

Je souhaiterais pouvoir créer une liste déroulante dynamique filtré avec le résultat de la cellule de gauche, trié et sans doublon. J'arrive à obtenir exactement ce que je souhaite grâce aux formules combinées de Trier Unique et Filtre mais je n'arrive pas à le mettre dans une liste déroulante. Je connais l'utilisation du # (dans validation de données) en sélectionnant la première cellule de la "formule étendu" Trier Unique et Filtre, mais comme je souhaite faire cette liste déroulante soit différente pour chacune des lignes en fonction du résultat de la cellule de gauche, il me faut mettre le résultat directement dans une liste déroulante et c'est la que ca coince.

Je vous mets un tableau, ca sera aussi simple à expliquer.

Par avance merci pour vos investigations.

Matthieu
 

Pièces jointes

  • Copie de besoin liste déroulante.xlsx
    11.2 KB · Affichages: 33

R@chid

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Sur combien de cellules tu comptes appliquer ces listes déroulantes ?
Si tu veux une pour Col_A, une pour Cob_B et une pour Col_C, c'est faisable, si tu comptes les appliquer sur un tableau qui va évoluer avec le temps je te conseillerai de voir du côté du VBA car ni FILTRE, ni UNIQUE ni TRIER ne pourront t'aider.

Voir PJ


Cordialement
 

Pièces jointes

  • matthieuS_ListsUniques_V1.xlsx
    11.3 KB · Affichages: 18

Lecolibri

XLDnaute Nouveau
Re Matthieu, Rachid,

Vous trouverez ci-joint le document pour lequel j'ai pris le temps d'ajouter les validations de données que je pense que Matthieu attendait, et ce sans passer par VBA.

Dans ton tableau original tu verras que chaque cellule de la colonne 2 a une liste déroulante selon la donnée de la cellule correspondante en colonne 1 (AA, BB ou CC) et chaque cellule de la colonne 3 a une liste déroulante selon la donnée de la cellule correspondante en colonne 2, lui même dépendant de la cellule 1 bien sûr.

Pour ce faire j'ai créé trois tableaux dans la feuille "Noms" qui correspondant chacun aux trois choix de la colonne 1. Les tableaux ont les noms suivants : TableauAA, TableauBB, TableauCC.

Les en-têtes de chaque tableau correspondent à la liste déroulante de qui est donnée en cellule de la colonne 2 selon la valeur cellule de la colonne 1 correspondante.
Les colonnes pour chaque tableau correspondent aux choix pour la cellule 3.

J'ai obtenu ce résultat, en utilisant la formule INDIRECT() comme présenté dans le lien que j'ai linké précédemment donc :
1. en entrant cette formule =INDIRECT("Tableau"&$A2&"[#En-têtes]") dans la validation de la cellule B2 de la feuil1 puis
2. en entrant cette formule =INDIRECT("Tableau"&$A2&"["&$B2&"]") dans la validation de la cellule C2 de la feuil1 puis
3. en étendant les validations au reste des colonnes

Matthieu il te reste plus qu'à modifier les données du tableau (en ajouter ou retirer au besoin) pour qu'elles correspondent aux données de validation souhaitées.

Si c'est bien la réponse que tu cherchais j'en suis très heureux et j'espère que ça t'aidera Matthieu. Aussi dans ce cas, Rachid as-tu vraiment regardé le lien que j'ai partagé ?

Si ce n'est pas la réponse que tu cherchais peux-tu me dire ce qu'il faudrait corriger dans ma solution pour parvenir au résultat que tu souhaites ?

Merci d'avance,

Bonne soirée !

Lecolibri
 

Pièces jointes

  • Copie de besoin liste déroulante.xlsx
    15.8 KB · Affichages: 43

R@chid

XLDnaute Barbatruc
Supporter XLD
Bonjour @Lecolibri
Merci pour le travail fait, mais tu penses que pour 100 critères en colonne A n'est pas fastidieux de faire 100 tableaux, en plus il va y avoir des vides dans les listes déroulantes ce qui n'est pas du tout pratique.

Avec du VBA on pourrait le faire sans se prendre la tête pour faire des dizaines de tableaux.

Cordialement
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…