Microsoft 365 Liste déroulante dynamique / dépendante d'un critère ou plus, *sans* VBA ? Une sorte d'Unique à conditions ? + ordre alpha ?

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 !

Charly88

XLDnaute Occasionnel
Bonjour cher vieux forum plein de bonnes volontés et de barbatrucs plus ou moins poilus, sur un vieux problème, j'aimerais savoir s'il y a des solutions nouvelles, qui évitent VBA : dresser une liste dynamique, dépendante d'un critère, par formule / sans VBA.
Ici, en fonction du client choisi en F3, je veux afficher en G3 les codes projets existants pour ce client dans la colonne C.

Si cela est possible, j'aimerais aussi ajouter un second critère : code actif ou non. Voire la possibilité de présenter la lister triée alphabétiquement.

Par du VBA, je sais faire et j'y viendrais peut-être plus tard pour d'autres buts... Mais à court terme, j'essaie de ne pas remettre le doigt dans le pot de confiture.

Merci d'avance pour toute réponse / piste et bonnes fêtes à tous !
 

Pièces jointes

Merci beaucoup à tous les deux ! Je vais prendre un moment pour décortiquer et reproduire vos solutions.

Néanmoins, après seulement 10 min, je bloque déjà sur celle de JHA pour recréer la matrice.
Avec D paramétré en F3, si je fais comme d'habitude dans la zone liste jaune, c'est-à-dire :
-sélection de la zone,
-F2 pour activer la formule en A2
-CTRL+Shift+Enter (sans rien toucher à la formule)

= la formule est visiblement identique et avec {} mais au lieu d'avoir X1, X2 et X4, j'ai X1 répété = une idée ?

A l'année prochaine (probablement) et bon réveillon !
 
En fait c'est / c'était le fichier que tu as posté le 24/12. Je l'ai re-re-téléchargé pour être sûr de n'y avoir rien touché mais j'ai les mêmes effets/conséquences.

Puis j'ai pensé à recopier la formule et j'ai créé une Liste2 légèrement différente et qui fonctionne... sans la matrice.
PJ :
 

Pièces jointes

Merci. Néanmoins, cela ne me permet pas encore de comprendre le coeur de ta formule.
La fonction Small / petite.valeur renvoie la k-ème plus petite des valeurs d'une array = entre 1 ; 2 et 3, elle renvoie 2 si k = 2 : OK, assez simple à comprendre en principe.

Elle est ici appliquée à un array d'une ligne unique qui est définie par le SMALL en testant les valeurs vs les critères.
Si TRUE, cela définit l'array-ligne par le le numéro de ligne du Projet Code sinon... rien/erreur.
Enfin, l'array est définie par k qui est défini comme k-è valeur de l'array... Et c'est là que je perds presque complètement pied.
Si j'essaie, pour Liste 1 réglé sur D : il n'y a que 3 valeurs TRUE, les positions : 7, 8 et 10, qui deviennent... les k=1 k=2 et k=3. Et lorsqu'il arrive à la ligne 5 donc 4è position, SMALL renvoie une erreur #NUM.

...Je plisse tellement le front, je crois que j'ai pris 5 ans d'un coup o_0
Pour le moment, je n'exclus pas que ce soit de la sorcellerie.
 
Bonjour à tous,

VB:
=SIERREUR(INDEX(Tableau1[Projet Code];PETITE.VALEUR(SI((Tableau1[Client]=Sheet1!$F$3)*(Tableau1[Actif]=$C$1);LIGNE(Tableau1[Projet Code])-1);LIGNE($A1)));"")

La formule n'est pas très compliquée à décortiquer, essayons d'y voir plus clair.
Le but est d'afficher le code projet avec
INDEX(Tableau1[Projet Code];
Puis on recherche la 1ère donnée respectant ces critères
SI((Tableau1[Client]=Sheet1!$F$3)*(Tableau1[Actif]=$C$1)
ensuite on regarde si les lignes répondant aux critères
LIGNE(Tableau1[Projet Code]) -->{FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;8;9;FAUX;11}
on soustrait 1 car les données du tableau débute à la ligne 2
{FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;7;8;FAUX;10}
la position de petite valeur est déterminée par LIGNE($A1) soit 1, LIGNE($A2) soit 2, LIGNE($A3) soit 3, etc..
Au lieu de LIGNE($A1), tu peux mettre NBVAL($A$1:$A1), c'est pareil.
si la formule ne trouve pas de valeur correspondante, cela génère une erreur qui est résolue avec sierreur(formule;"").

JHA
 
- 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
Retour