Recherche à créer une fonction dans excel [Résolu/Fermé]

Signaler
Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017
-
Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017
-
bonjour à tous,

je cherche à faire mettre une fonction :

j'ai un tableau avec en colonne des articles et sur la ligne du haut j'ai les fournisseurs et dans le tableau, j'ai les prix/ligne/fournisseurs.
et ce que je veux faire est :
afficher dans une colonne supplémentaire, le nom du fournisseur contenant la plus petite valeur d'un article.

en gros :rechercher le nom d'une colonne contenant la plus petite valeur recherchée d'une ligne

si quelqu'un peut m'aider , ça fait 2 jours que je galère !

avec la fonction rechercher, j'ai plein d'erreur ! ça marche pas, ou alors je fais pas ce qu'il faut !

merci infiniment

7 réponses

Messages postés
26120
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 juillet 2021
5 998
Bonjour
si votre ligne de prix ne comporte pas de 0 (mais des cellules vides si pas de prix)
exemple à adapter
de B1 à F1, le nom des fournisseurs
en A2:Axx, le nom des produits
les prix entrés de B2 àFxx
la formule en G2, à tirer jusqu'à Gxx

=INDEX($B$1:$F$1;;EQUIV(MIN(B2:F2);B2:F2;0))

attention aux signes aux bons endroits

et pour éviter #N/A si la ligne de prix est vide:

=SIERREUR(INDEX($B$1:$F$1;;EQUIV(MIN(B2:F2);B2:F2;0));"")
(applicable à partir de Excel 2007
Pour un Excel plus ancien:

=SI(ESTERREUR(MIN(B2:F2);"";INDEX($B$1:$F$1;;EQUIV(MIN(B2:F2);B2:F2;0)))

crdlmnt


Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017

merci beaucoup, je viens de tester, ça fonctionne bien mais que pour la 1ère colonne, c'est-à-dire le fournisseur le moins cher.
Mais ensuite pour les fournisseurs en 2eme,3eme,4eme...7eme position , ça ne fonctionne plus.
J'ai appliqué la formule que vous proposez pour excel le + récent car j'ai excel 16.
J'ai effectivement des cellules vides dans les propositions (pas de proposition fournisseurs) !
J'ai bien tiré comme vous avec dit la formule dans les colonnes adjaçentes

ce n'est en soit pas très grave mais temps que l'on y est si je peux faire un classement/ligne sur 7 colonnes !
Par avance, je vous remercie
Dans l'attente de vous lire
cdlmt
Messages postés
54311
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
29 juillet 2021
16 291 >
Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017

"Mais ensuite pour les fournisseurs en 2eme,3eme,4eme...7eme position , ça ne fonctionne plus" : Ceci est un nouveau problème, très différent de celui exposé au départ.
En effet il s'agissait de rechercher UNE valeur minimale ; maintenant tu veux effectuer un classement de PLUSIEURS valeurs ...
Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017
>
Messages postés
54311
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
29 juillet 2021

Bonjour Raymond,
Je n'avais pas vu la complication et surement mal formulé ma demande.
C'est vrai que le + important était bien au départ de rechercher une valeur minimale!
Est-ce dans vos possibilités de me proposer une fonction pour classer ces valeurs ?
D'avance merci déjà pour le temps que vous m'accordez ?
Cdlmt
Messages postés
54311
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
29 juillet 2021
16 291
Bonjour, minic283, et bienvenue parmi nous.

En informatique, et surtout en bureautique, il faut s'efforcer d'utiliser un vocabulaire précis, pour éviter les faux-sens et les quiproquos.
En l'occurrence, ne pas confondre FORMULE et FONCTION comme dans ton titre "Recherche à créer une fonction dans excel", sachant qu'une formule est une combinaison de données, de références de cellules, de variables, d'opérateurs et de fonctions.
Mais tu as raison :
-> la fonction RECHERCHE ne convient pas dans ce cas de figure.

Cordialement.
Messages postés
54311
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
29 juillet 2021
16 291
Je vous signale à tous les deux qu'il manque une parenthèse dans la formule : =SI(ESTERREUR(MIN(B2:F2) ) ;"";INDEX($B$1:$F$1;;EQUIV(MIN(B2:F2);B2:F2;0)))
Messages postés
26120
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 juillet 2021
5 998
Re alors si vous voulez les fournisseurs en dégressif en colonne dans une ligne produit, il faut changer de formule:
(et toujours s'il n'y a pas de 0)

=SIERREUR(INDEX($B$1:$F$1;;EQUIV(PETITE.VALEUR(B2:F2;COLONNE(A$1));B2:F2;0));"")

de cette façon vous aurez en 1° colonne le fournisseur le moins cher et le plus cher en fin de ligne

crdlmnt


La qualité de la réponse dépend surtout de la clarté de la question, merci!
Messages postés
54311
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
29 juillet 2021
16 291
Pour répondre à la nouvelle demande de minic283
"... faire un classement/ligne sur 7 colonnes / Est-ce dans vos possibilités de me proposer une fonction pour classer ces valeurs ?"
Dans la cellule J2, copier-coller la formule
=SI(ESTERREUR(PETITE.VALEUR($B2:$H2;COLONNE()-8));""; INDEX($B$1:$H$1;;EQUIV(PETITE.VALEUR($B2:$H2;COLONNE()-8);$B2:$H2;0))) à recopier jusqu'en O2, puis recopier I2:O2 vers le bas.
Messages postés
26120
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 juillet 2021
5 998
Bonsoir
voir réponse précédente
Excel 2016 (annoncé) admet SIERREUR, c'est plus simple et fait pour
remplacer COLONNE()-8 par COLONNE(A$1) permet de se retrouver dans n'importe quelle colonne du fichier sans la correction -8 nécessaire sur la colonne I
crdlmnt
Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017

bonsoir à tous les deux,
merci de vous occuper de moi , il est tard, je ne fais que repasser à mon pc, je regarde ça demain!
merci encore et bonne soirée
cdlmt
PS: si je comprends bien il faudrait que prenne quelle fonction du coup ! celle de Raymond ou Vaucluse ?
Messages postés
54311
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
29 juillet 2021
16 291 >
Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017

Tu essaies les deux et tu adoptes celle qui te plait.
Quand j'ai commencé à rédiger mon message #8, il n'était pas encore 17:42, et je n'avais donc pas la solution #7 de Vaucluse ; je n'ai finalement validé mon texte qu'à 18:10, après avoir fait des essais sur mon ordinateur, sans voir que Vaucluse avait trouvé une façon plus technique et plus courte de résoudre la question ...

Toutefois, Vaucluse, si ta formule est destinée à être recopiée vers la droite pour obtenir les différentes valeurs, il faudrait ajouter quelques
$
:
EQUIV(PETITE.VALEUR($B2:$F2;COLONNE(A$1));$B2:$F2;0)

Très cordialement.
Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017

bonjour à tous les deux,

Je n'ai pas pris le temps d'essayer la dernière fonction, j'ai déjà une bonne information avec la 1ère que vous m'avez aimablement fourni. Ainsi Je connais le fournisseur le mieux placé, je vais mettre en place la dernière fonction de Raymond et la tester (je vais regarder ça ce soir, j'ai un emploi du temps compliqué en ce moment).
Dans une autre discussion je vais vous poser une autre question (fichier de gestion de stock)
Messages postés
8
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
14 mars 2017

Bonjour à tous,
je revenais vers vous car je tenais à vous remercier pour votre aide qui m'a été précieuse. J'ai testé, ça fonctionne à merveille !
A une autre occasion
cdlmt
PS: sur vos conseils je suis en train d'essayer de me concocter un petit programme de gestion de stock mais je rencontre des difficultés. Je persiste et sinon je reviens vers vous!
Encore merci