Problème de listes de choix cascade avec 1 à 4 critères - Formule matricielle

premion

XLDnaute Junior
Bonjour cher forum,

Mon projet évolue et je coince encore...

J'ai 4 listes de choix possibles dont 1 ou toutes les possibilités peuvent être séléctionnées.
En fonction des choix exprimés dans la ou les listes précédentes la liste de choix change évidemment.
Jusque là pas de problème, ça marche...

Les résultats apparaissent dans une colonne (ici la colonne C) gràce à une formule matricielle étendue sur une plage de 2000 lignes:

{=SI(Choix1="ALL EUROPE";
SI(Choix4="";
SF_ACCOUNTNAME;
SI(LIGNE(Calculs!$F$4:$F$2000)>LIGNE(Calculs!$F$4);"";RECHERCHEV(Choix4;SF_ACCOUNTNAME;1;VRAI)));

SI(Choix1="Country";
SI(Choix4="";
INDEX(SF_ACCOUNTNAME;EQUIV(PETITE.VALEUR(SI(SI(Feuil1!$I$6<>"";(SF_ACCOUNT_COUNT=Feuil1!$I$4)*(SF_ACCOUNT_TIER=Feuil1!$I$6);SF_ACCOUNT_COUNT=Feuil1!$I$4);NB.SI(SF_ACCOUNTNAME;"<"&SF_ACCOUNTNAME));LIGNE(INDIRECT("1:"&LIGNES(SF_ACCOUNT_COUNT))));NB.SI(SF_ACCOUNTNAME;"<"&SF_ACCOUNTNAME);0));
SI(LIGNE(Calculs!$F$4:$F$2000)>LIGNE(Calculs!$F$4);"";RECHERCHEV(Choix4;SF_ACCOUNTNAME;1;VRAI)));

SI(Choix1="Account Manager";
SI(Choix4="";
INDEX(SF_ACCOUNTNAME;EQUIV(PETITE.VALEUR(SI(SI(Feuil1!$I$6<>"";(SF_ACCOUNT_MANAGER=Feuil1!$I$4)*(SF_ACCOUNT_TIER=Feuil1!$I$6);SF_ACCOUNT_MANAGER=Feuil1!$I$4);NB.SI(SF_ACCOUNTNAME;"<"&SF_ACCOUNTNAME));LIGNE(INDIRECT("1:"&LIGNES(SF_ACCOUNT_MANAGER))));NB.SI(SF_ACCOUNTNAME;"<"&SF_ACCOUNTNAME);0));
SI(LIGNE(Calculs!$F$4:$F$2000)>LIGNE(Calculs!$F$4);"";RECHERCHEV(Choix4;SF_ACCOUNTNAME;1;VRAI)));
"aucune sélection en I2, la cellule doit être vide")))}

Bref... mon fichier joint réexplique tout.

Toute simplification et idées seront aussi les bienvenues!

Merci encore pour votre aide

Philippe
 

Pièces jointes

  • Tri cascade.xlsm
    216.2 KB · Affichages: 79

Habitude

XLDnaute Accro
Re : Problème de listes de choix cascade avec 1 à 4 critères - Formule matricielle

Bonjour

Étant donné le peu de réponse.
Je me permet de soumettre mon fichier.
Bien que je ne suis pas sur d'avoir compris.
 

Pièces jointes

  • TriCascade.xlsx
    204.4 KB · Affichages: 102

premion

XLDnaute Junior
Re : Problème de listes de choix cascade avec 1 à 4 critères - Formule matricielle

Bonjour le forum,
Bonjour Habitude,

et merci pour la réponse et pour le temps passé sur mon doc. Toutefois ce n'est pas tout à fait ce que je cherche pour plusieurs raisons:

- Le temps de calculs s'est considérablement rallongé, là ou dans ma formule, prise par bribes le résultat sortait instantanément.
- En I8 on doit pouvoir choisir un nom de client, résultat de la combinaison éventuelle des résultats précédents:
par exemple:
ALL EUROPE / TIER 2: le résultat est tous les clients situés dans la feuille SFCustomers qui en
colonne H correspondent à Tier 2
ZONE / EE / TIER 1: le résultat renvoie une liste de tous les clients dans la feuille
SFCustomers qui sont dans la zone EE et qui sont Tier 1
ZONE / EE: le résultat renvoie tous les clients de la zone EE

- Le résultat en colonne C devient pour le choix I8 la source des infos.

J'aimerais donc éviter de passer par la liste "tampon" que vous avez mise en "Listes de Sélection" je pense que c'est ce qui ralentit la vitesse de calcul.

Le problème dans ma formule est que lorsque l'on choisit "Country" la formule se met à bloquer, idem pour Account manager. Je pense qu'il s'agit plus d'une question de syntaxe dans ma formule qu'autre chose.
Enfin, je n'arrive pas à inclure, toujours dans ma formule la notion de TIER lorsque "ALL EUROPE" est sélectionné.
Merci encore pour votre aide, et désolé car je pense que je me suis mal expliqué dans l'énoncé de mon problème.

Bonne journée à tous

Philippe​
 
Dernière édition:

Habitude

XLDnaute Accro
Re : Problème de listes de choix cascade avec 1 à 4 critères - Formule matricielle

Re

Effectivement, au lieu de corrigé votre code, je suis parti à zéro.
Car j'avais constaté que le problème ne venait pas seulement de la liste filtré mais aussi des listes de validation.
En fait dans ton fichier, lorsqu'en I2 tu choisis "Country" ou "Account Manager", La liste en I4 est vide.

Et au lieu de liste fixe, j'ai créer des listes de validation en matricielle. Ce qui effectivement alourdi énormément le calcul.

Les noms de clients ne s'affichent pas en I8 , je les affiche en colonne C sous l'entête "NAME".
Je trouve que validation par imbrication de SI est aussi trop lourde pour ce que tu veux faire.
C'est pourquoi j'utilise un seul SI avec les Opérateurs logique "+"(OU) et "*"(ET)
Et cette liste tient compte des 2 cas de figure que tu m'énumère.

VBA serait beaucoup plus simple et efficace à mon avis.
 

premion

XLDnaute Junior
Re : Problème de listes de choix cascade avec 1 à 4 critères - Formule matricielle

Re aussi,

Merci beaucoup pour ces explications.

En revoyant mon fichier avec votre explication, je comprends mieux mon erreur. Les listes de validation en matricielle sont en effet obligatoire si je veux avoir des listes dynamiques "propres". Je ne comprends pas pourquoi j'ai laissé passer ça.

Merci beaucoup... Toutefois le ralentissement dû aux listes de validation en matricielle m'ennuie beaucoup car mes collègues qui utiliseront le fichier par la suite vont pester si c'est trop long.

VBA serait certainement plus simple et efficace: le vrai problème c'est que je ne suis pas à l'aise du tout en VBA... Mais alors pas du tout...
 

premion

XLDnaute Junior
Re : Problème de listes de choix cascade avec 1 à 4 critères - Formule matricielle

C'est superbe! Et rapide en effet!

Merci!

Dans mon projet, il faut tout de même que j'affiche la liste sur une colonne dans une feuille. Ce sera la base pour des calculs à venir. Comment puis-je afficher cette liste?

Par ailleurs, il faut que je puisse éventuellement choisir dans la liste affichée un seul nom en le sélectionnant. Comment faire?

L'intérêt de ce projet est en effet d'afficher des résultats en fonction des sélections faites. Soit je veux voir le résultat pour tous les noms de la liste, ou en fonction de certains critères ou enfin pour un seul client...

Je vais essayer de m'y mettre, mais je crains que le travail qui m'attend soit important pour être "autonome" en VBA. N'est-ce pas un peu risquer pour mon projet?

Merci encore pour votre temps

Philippe
 

Habitude

XLDnaute Accro
Re : Problème de listes de choix cascade avec 1 à 4 critères - Formule matricielle

J'essaie de faire le plus simple possible

Ca devrait convenir
 

Pièces jointes

  • TriCascade.xlsm
    210.7 KB · Affichages: 58
  • TriCascade.xlsm
    210.7 KB · Affichages: 81
  • TriCascade.xlsm
    210.7 KB · Affichages: 55

premion

XLDnaute Junior
Re : Problème de listes de choix cascade avec 1 à 4 critères - Formule matricielle

Bonjour Habitude,
Bonjour le forum,

Adopté! Ca marche super bien et ça répond parfaitement à mon besoin.

Je vais essayer de travailler le VBA à partir de maintenant... Promis!

Merci encore beaucoup pour votre aide! J'aurais peut-être une ou deux questions supplémentaires au fil de l'évolution de mon projet.

Philippe
 

Discussions similaires

Statistiques des forums

Discussions
312 184
Messages
2 086 006
Membres
103 088
dernier inscrit
Psodam