XL 2010 Recherche 2 Valeurs avec conditions + mise en forme conditionnelle - Sujet clos

PWROLLEZ

XLDnaute Nouveau
Bonjour à tous,

Je connais le potentiel d'Excel mais malheureusement, je ne suis pas assez doué pour trouver les formules adéquates.
Sur le fichier joint, je cherche à faire ressortir automatiquement dans un tableau les prix les moins chers de mes 2 fournisseurs pour des produits identiques.
J'aimerais faire apparaître également dans un TCD un jeu d’icônes genre rond vert à côté du prix quand le produit est moins cher chez un fournisseur (idem si le produit n'est référencé que par un fournisseur), rond rouge quand il est plus cher et orange s'ils sont équivalents.

Votre aide est la bienvenue car je n'arrive vraiment pas à réaliser ces choses...

Cordialement,
 

Pièces jointes

  • Test PW.xlsx
    16.1 KB · Affichages: 40
Dernière édition:

Nairolf

XLDnaute Accro
Tu as laissé les guillemets, ce qui fait que le SI() est vrai, c'est pour cela que la valeur renvoyée par la fonction SI() est la première et non la seconde.

De plus, pour n'utiliser que des liaisons relatives aux valeurs du tableau, tu peux utiliser les formules suivantes:
En A2:
Code:
=SI(NB.SI(Tableau1[Libellé article];[@[Libellé article]])=0;"";INDEX(Tableau1[Fournisseur];MIN(SI(([@[Libellé article]]=Tableau1[Libellé article])*([@[P.U.
HT+Drt]]=Tableau1[HT+Drt]);LIGNE(Tableau1[Fournisseur])-1));1))
En B2:
Code:
=SI(NB.SI(Tableau1[Libellé article];[@[Libellé article]])=0;"";INDEX(Tableau1[Référence];MIN(SI(([@[Libellé article]]=Tableau1[Libellé article])*([@[P.U.
HT+Drt]]=Tableau1[HT+Drt]);LIGNE(Tableau1[Référence])-1));1))
 

PWROLLEZ

XLDnaute Nouveau
Ces formules fonctionnent ! :)
J'ai essayé du coup en D2 :
=SI(NB.SI(Tableau1[Libellé article];[@[Libellé article]])=0;"";INDEX(Tableau1[HT+Drt];MIN(SI(([@[Libellé article]]=Tableau1[Libellé article])*([@[P.U.
HT+Drt]]=Tableau1[HT+Drt]);LIGNE(Tableau1[HT+Drt])-1));1)) mais ça ne fonctionne pas. Qu'est-ce qui clocherait d'après toi ?
 

Nairolf

XLDnaute Accro
La formule serait plutôt:
Code:
=SI(NB.SI(Tableau1[Libellé article];[@[Libellé article]])=0;"";MIN(SI([@[Libellé article]]=Tableau1[Libellé article];Tableau1[HT+Drt])))
Mais, le problème est que tous les calculs associés risques de te renvoyer des erreurs (qu'il faudrait traité avec une fonction SIERREUR() pour les masquer), tu peux aussi le faire en personnalisant le format des cellules:
- Clic droit, "Format de cellule..."
- Dans l'onglet "Nombre", sélectionner "Personnalisé"
- Dans le champ "Type :", rajouter 2 points virgules ";"
 

PWROLLEZ

XLDnaute Nouveau
Les 2 ; fonctionnent très bien ! Merci ! Je ne vais pas me compliquer plus la tâche avec une formule supplémentaire du coup :)
Concernant la liste déroulante créée grâce à la validation des données, n'y aurait-il pas un meilleur moyen pour faire dérouler les articles ? Je demande ça car j'ai près de 3 000 libellés et je ne la trouve pas très pratique à l'usage.
 

Discussions similaires

Statistiques des forums

Discussions
312 115
Messages
2 085 453
Membres
102 890
dernier inscrit
selkis