Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Noeste

XLDnaute Nouveau
Bonjour à tous,

Je vous sollicite car je bloque sur un tableau de suivi des coûts, je ne vois pas comment mettre en place en formule permettant de récupérer le nom d'une colonne par rapport à la valeur d'une cellule.

En effet je dois suivre le prix des composants entrant dans la fabrication de plusieurs produits de ma société, j'ai un certain nombre de lignes de produits et un certain nombre de colonnes de composants qui sont tous variables.
Je dois classer les prix des composants les plus importants dans un top 5 par produits pour réduire les coûts.
Pour le moment j'ai déjà réussi à mettre en évidence les valeurs du top 5, mais pour pouvoir communiquer plus simplement, je souhaiterais aussi indiquer le nom du composant à côté de chacune des valeurs de mon top 5. Mais je bute à ce stade.

Comme un exemple est plus parlant je vous joins un extrait de mon fichier.

Je vous remercie par avance.
Stéphane
 

Fichiers joints

ERIC S

XLDnaute Barbatruc
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour

a tester

=INDEX($1:$1;EQUIV(K2;A2:J2;0))
 

hoerwind

XLDnaute Barbatruc
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour, salut eric et JNP,

Il y a aussi en I2 : =DECALER($A$1;;EQUIV(K2;$B2:$J2;0))
 

Noeste

XLDnaute Nouveau
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour à vous 3,

Je vous remercie de vous être penché sur mon cas, malheureusement, ça ne donne pas le résultat que j'attendais.

ERIC S, j'ai fait le test =INDEX($1:$1;EQUIV(K2;A2:J2;0)) mais que dois je mettre au niveau du $1:$1 ?

hoerwind, j'ai testé ta proposition en I2 : =DECALER($A$1;;EQUIV(K2;$B2:$J2;0)) mais il me semble qu'il manque une donnée entre les ;; pour ta formule ?

JNP, ta proposition est celle qui se rapproche le plus de ce que je souhaite (surement car je l'ai vu concrêtement dans le fichier, je ne suis pas super doué non plus) cependant les résultats ne sont pas corrects sauf dans la colonne L, car j'ai ensuite les mêmes composants qui ressortent dans les autres colonnes, alors que j'aurais dû avoir des composants différents puisque les autres valeurs sont décroissantes.

Voici les résultats de ta proposition :
13,70 = Composant G | 12,11 = Composant F | 10,30 = Composant F | 10,27 = Composant F | 9,67 = Composant F

Voici ce que je voudrais obtenir :
13,70 = Composant G | 12,11 = Composant H | 10,30 = Composant I | 10,27 = Composant C | 9,67 = Composant B

J'espère avoir été clair dans mes explications, je me rends compte que ce n'est peut être pas facile à appréhender.

Stéphane
 

Noeste

XLDnaute Nouveau
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Merci JNP, c'est trés bien maintenant
 

hoerwind

XLDnaute Barbatruc
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour,

Il ne manque rien à la formule, vois la pièce jointe.

Il faut décaler A1 de 0 lignes (puisque le résultat est à chercher en ligne 1), on peut donc saisir 0 entre les ;;, mais ce n'est pas obligatoire, en l'absence de données Excel prend 0 par défaut.
 

Fichiers joints

Noeste

XLDnaute Nouveau
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour à tous,

Merci pour ton retour hoerwind, effectivement ça fonctionne dans ton exemple, j'ai testé ça me fait une autre option pour ma demande.

Vous assurez franchement sur ce forum.

Bonne journée.
 

tarzan

XLDnaute Nouveau
Re : Comment récuperer le nom de colonneS par rapport à la valeur de celluleS

Bonjour,

J'ai une question similaire, mais je souhaiterais plutôt extraire le nom des colonnes, contenant une certaine valeur (un mot, en l’occurrence) : voir fichier exemple.
Je souhaiterais alors obtenir dans la cellule, la liste des noms de colonnes.

Je dois ensuite mettre ce fichier à disposition pour travail collaboratif, sur le skydrive (donc pas de macro, etc...)

Merci de votre aide !! :)
 

Fichiers joints

R@chid

XLDnaute Barbatruc
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour tarzan et Bienvenu sur XLD,
essayer en M3,
Code:
=SIERREUR(INDEX($B$2:$K$2;PETITE.VALEUR(SI($B$3:$K$7=M$2;COLONNE($B$2:$K$2)-1);LIGNES($3:3)));"")
@ valider par la combinaison des touches Ctrl+Maj+Entree
@ tirer vers le bas et vers la droite

il ne donne pas de concaténation dans les cellules....

si tu veux qu'on évite les doublons dis le ...

Voir PJ

Amicalement

Edit 1 : J'ai mal compris, peut être tu veux qu'on fait la recherche ligne par ligne et qu'on concatène les résultats de chaque ligne dans la même cellule...
Pour la concaténation il faut qu'on concatène plusieurs formules dans la même cellule ce qui n'est pas pratique alors en VBA il peuvent le faire les amis...
Pour la recherche ligne par ligne et sans concaténation on peut le faire par formule
@ toi de décider

Edit 2 :
Salut mon ami Jocelyn
 

Fichiers joints

Dernière édition:

Jocelyn

XLDnaute Barbatruc
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjo=r le Forum,
Bonjour Tarzan,

pas bien sur d'avoir tout compris mais si tu veux récupérer la lettre de la colonne et non la valeur de la ligne 2 (vraiment pas sur que ce soit ta demande) un test en fichier joint

Cordialement

EDIT : bonjour R@chid :)
 

Fichiers joints

Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour @ tous,
Voir PJ,
En M2,
Code:
=SIERREUR(INDEX($B$2:$K$2;PETITE.VALEUR(SI($B3:$K3=M$2;COLONNE($B$2:$K$2)-1);1));"")&SIERREUR(","&INDEX($B$2:$K$2;PETITE.VALEUR(SI($B3:$K3=M$2;COLONNE($B$2:$K$2)-1);2));"")&SIERREUR(","&INDEX($B$2:$K$2;PETITE.VALEUR(SI($B3:$K3=M$2;COLONNE($B$2:$K$2)-1);3));"")&SIERREUR(","&INDEX($B$2:$K$2;PETITE.VALEUR(SI($B3:$K3=M$2;COLONNE($B$2:$K$2)-1);4));"")
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
@ micalement
 

Fichiers joints

tarzan

XLDnaute Nouveau
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour Jocelyn et R@chid !

Merci pour vos réponses rapides !
Je vais essayer d'être plus clair dans ce que je cherche.
J'ai un tableau qui s'étend(dans mon fichier exemple) de B2 à K7.

Et je souhaite extraire les données de ce tableau, dans un autre tableau (M2 à P7). Mais les formules que j'ai tapées ne marchent pas... :(
(j'ai indiqué à la main, dans le tableau de R2 à U7, ce que je souhaiterais obtenir)

Par exemple, je souhaite extraire en R3 une liste des noms des colonnes (en ligne 2 : A, B, C, D, etc.), qui contiennent le texte indiqué en R2.
Soit : 'E' en R3
'C,I' en S3
etc.

Voilà .
Merci d'avance ! :)
 

R@chid

XLDnaute Barbatruc
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Salut tarzan
Voir ma dernière réponse Post #13 avant ton dernier
Amicalement
 

tarzan

XLDnaute Nouveau
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Merci R@chid,

J'ai testé. Cela fonctionne, mais la formule ne fonctionne plus lorsqu'il y a plus de 4 éléments à lister.
Or mon tableau sur lequel je dois transposer cette formule comporte 20 colonnes, donc autant d'éléments potentiellement à lister....

Par ailleurs,n'y aurait il pas une formule un peu plus "light" ?...
Merci pour votre aide
 
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Comment récuperer le nom d'une colonne par rapport à la valeur de la cellule

Bonjour,
si tu as 20 colonnes tu dois concaténer 20 formules en changeant @ chaque fois les 1;2;3;...;20
=SIERREUR(INDEX($B$2:$K$2;PETITE.VALEUR(SI($B3:$K3=M$2;COLONNE($B$2:$K$2)-1);1));"")&SIERREUR(","&INDEX($B$2:$K$2;PETITE.VALEUR(SI($B3:$K3=M$2;COLONNE($B$2:$K$2)-1);2));"")&SIERREUR(","&INDEX($B$2:$K$2;PETITE.VALEUR(SI($B3:$K3=M$2;COLONNE($B$2:$K$2)-1);3));"")&SIERREUR(","&INDEX($B$2:$K$2;PETITE.VALEUR(SI($B3:$K3=M$2;COLONNE($B$2:$K$2)-1);4));"")
pour une formule plus light, je t'ai expliqué ça sur mon post #1 Edit 2
 

Discussions similaires


Haut Bas