faire correspondre un élément d'une liste à une autre liste

  • Initiateur de la discussion Initiateur de la discussion leon57
  • Date de début Date de début

leon57

XLDnaute Nouveau
Bonjour à tous, je rencontre un souci j'aimerai avoir un petit coup de pouce svp

J'ai fait un tbl croisé dynamique avec d'une part des de noms services en ligne, et d'autres part des codes de motif en

colonne. Je dois remplir un tableau de bord avec le motif qui ressort le plus pour chaque service. Je souhaiterai une

formule simple dans le TCD qui me permette de ressortir le code du motif le plus élevé par service, ce qui me

permettrait de faire un recherchev dans le tableau de bord pour faire apparaître le motif. J'ai utilisé un equiv(max

mais sa ne marche pas.


Par ailleur j'ai un autre Tcd avec pour chaque motif le nombre de fois qu'il sort dans la base, j'ai utiliser un recherche(max qui marche seulement quand c trier par ordre croissant. Je voulai savoir s'il n'existe pas une formule simple qui donne le même résultat sans besoin de trier.

Je sais pa si c clair.

Merci à tous
 

Pièces jointes

Modeste

XLDnaute Barbatruc
Re : faire correspondre un élément d'une liste à une autre liste

Bonjour léon57,

Pas certain de bien comprendre ce que tu cherches, mais (avec ce que j'ai cru comprendre) dans ta feuille "TCD Rejets", pour certains services, le nombre maximum de rejets peut concerner 2 codes différents.
Exemple: pour le service "02-CONSEIL ECONOMIQUE ET SOCIAL", tu as 2 rejets pour le code 15 et 2 rejets aussi pour le code 16.
Alors une formule "simple" est possible si tu ne veux voir apparaître que le premier des codes avec le nombre le + élevé. Une autre formule permettrait d'afficher -dans des colonnes successives- les différents codes concernés (qu'il n'y en ait qu'un ou plusieurs), mais je ne qualifierais pas cette formule de "simple"

Sous réserve que j'aie plus ou moins compris, en T5 de "Tcd rejets":
- version "simple": =INDEX($B$4:$R$4;1;EQUIV(MAX(B5:R5);B5:R5;0)) ... à recopier vers le bas
- version "moins simple": =SI(SOMMEPROD(($B5:$R5=MAX($B5:$R5))*1)>=COLONNES($A:A);INDEX($B$4:$R$4;1;PETITE.VALEUR(SI($B5:$R5=MAX($B5:$R5);COLONNE($B5:$R5)-1);COLONNES($A:A)));"") ...à valider avec Ctrl+Shift+Enter et recopier ensuite vers le bas et vers la droite (deux colonnes au moins, dans ton exemple!)

Voyons toujours avec ça :confused:
 

leon57

XLDnaute Nouveau
Re : faire correspondre un élément d'une liste à une autre liste

Bonjour à tous,

Les 2 formules marche très bien, la 2 ème formule est très intéressante mais elle est un peu dur je sais pas si jvai réussir à la réutilisé.

Par contre dans le tcd "rejets par motif" j'ai d'une part en lignes les motifs et en colonne le nombre par motif, j'ai utilisé la formule :
=RECHERCHE(MAX('tcd rejets par motif'!B4:B14);'tcd rejets par motif'!B4:B14;'tcd rejets par motif'!A4:A14)
qui me donne le motif le plus élevé mais je dois faire un tri croissant obligatoirement, je voulais savoir une formule donne le même résultat sans besoin de faire un tri croissant.


Merci à tous
 

Pièces jointes

Dernière édition:

Modeste

XLDnaute Barbatruc
Re : faire correspondre un élément d'une liste à une autre liste

Re-bonjour léon57,

L'idéal serait tout de même d'essayer de définir clairement le cadre de la question:
- plutôt que de mentionner "un autre TCD", signale clairement que celui-ci se trouve dans la feuille "tcd rejets par motif"
- ce que tu voudrais que la formule affiche c'est le motif qui figure en regard du nombre de rejets le plus élevé?

Si oui, la réponse sera la même que précédemment: si la valeur la plus élevée n'apparaît qu'une fois en colonne B, cette formule devrait fonctionner: =INDEX(A4:A14;EQUIV(MAX(B4:B14);B4:B14;0)) ... si deux motifs (ou plus) se voyaient incriminés à 281 reprises, que faudrait-il afficher?
 

leon57

XLDnaute Nouveau
Re : faire correspondre un élément d'une liste à une autre liste

Bonjour à tous

oui tu as raison mon j'avai modifié mon message mais tu m'as répondu avant , cette formule marche très bien merci

si deux motifs apparaissent à 281 il faudrait les afficher tous les deux mais la j' arrive pas

Merci à tous
 

Modeste

XLDnaute Barbatruc
Re : faire correspondre un élément d'une liste à une autre liste

Bonsoir,

il faudrait les afficher tous les deux mais la j' arrive pas
Même principe que tout à l'heure:
Code:
=SI(SOMME(($B$4:$B$14=MAX($B$4:$B$14))*1)>=LIGNES($1:1);INDEX($A$4:$A$14;PETITE.VALEUR(SI($B$4:$B$14=MAX($B$4:$B$14);LIGNE($B$4:$B$14)-3);LIGNES($1:1)));"")
... si je ne me suis pas trompé!?
A valider avec Ctrl+Shift+Enter ... et recopier vers le bas, sur autant de lignes qu'il risque d'y avoir de maxima en double (le début de la formule permet de ne rien afficher si le nombre de cas est inférieur au nombre de cellules où la formule est recopiée ... mieux vaut donc prévoir un peu plus large :rolleyes:)
 

leon57

XLDnaute Nouveau
Re : faire correspondre un élément d'une liste à une autre liste

Bonjour à tous,

Donc je recopie cette formule en face de chaque motif ou je descend encore sur les lignes en dessous, j'ai

recopié la formule comme il n'ya pas de doublon rien ne s'affiche mais le motif "autres précisez" qui est le plus

élevé ne devrait-il pas s'afficher?

Je rencontre un petit souci, grâce à la formule =INDEX($B$4:$R$4;1;EQUIV(MAX(B5:R5);B5:R5;0)),

cela me permettai d'avoir le code du motif le plus élevé par service. Donc dans mon tableau de bord je pouvai

faire un recherchev et afficher l'intitulé du motif. Sauf que dans le tableau de bord il y est plus de service que dans le Tcd rejets 2011, car le tcd ne reprend que les services de 2011 mais le tableau de

bord reprend les services qui ont fait l'objet de rejet en 2010 et 2011, ce qui fait je n'arrive pas à mettre tous les motifs pour les services de 2011. La formule recherchev me prend les services du Tcd rejets 2011 à la suite.

Je sais pa si c clair, avec la pièce jointe sa sera plus compréhensible j'espere.


Merci à tous
 

Pièces jointes

Modeste

XLDnaute Barbatruc
Re : faire correspondre un élément d'une liste à une autre liste

Bonsoir léon57,

Pour ta première question, tu parles bien dans le fichier d'une formule matricielle ... Mais dans ce même fichier, point d'accolades autour de ta formule ... c'est donc que tu n'as pas validé correctement cette formule!

Pour le reste, pourrais-tu essayer de ne pas "écrire comme tu parles" :p Je ne comprends pas les explications dans ton dernier message, mais -même en ouvrant le fichier- je n'y comprends pas grand chose. Tu pourrais ré-essayer, mais en prenant le temps de formuler les choses comme si on était loin de toi et qu'on ne faisait que te lire (en tout cas, d'ici, je ne vois pas les gestes que tu fais peut-être, ni n'entends les compléments que tu donnes oralement ;))
N'oublie pas que tu sais ce que tu as en tête ... nous, non!
 

Discussions similaires

Réponses
14
Affichages
496
Réponses
4
Affichages
294
Réponses
11
Affichages
291