XL 2016 Comparaison prix appel d'offre

Linda42

XLDnaute Occasionnel
Bonjour,

J'ai un gros chantier qui m'attends pour comparer les prix d'un appel d'offre sur des consommables. J'ai besoin de votre aide pour plusieurs étapes, et afin d'y arriver, je vais poser mes problèmes un par un. Ci-joint un fichier anonymisé, sachant que j'aurais à terme plus de 200 lignes à comparer.

La première étape est de trouver la bonne formule pour trouver le fournisseur le moins cher parmi la même référence en colonne G. J'ai mis une formule en colonne AP pour qu'apparaisse un "1" dans la ligne correspondant à la référence la mois chère. Ma formule (en AP) semble fonctionner que sur une seule référence et pas sur les autre. Je n'arrive pas à comprendre pourquoi ma formule ne fonctionne pas sur les autres réf en G.

Une fois que j'aurais résolu ce problème, je pourrais vous solliciter sur les autres étapes.

Merci pour votre aide
 

Pièces jointes

  • EX BPU pour comparaisonClasseur1.xlsx
    35.9 KB · Affichages: 28

chris

XLDnaute Barbatruc
Bonjour
VB:
=SI(ET([@[Prix Unitaire Remisé HT ]]=MIN(SI([Code produit Interne]=[@[Code produit Interne]];[[Prix Unitaire Remisé HT ]];9^9));NB.SI([Code produit Interne];[@[Code produit Interne]])>1);1;"")

et en AR
VB:
=SI([@[Note financière ]]="";"";[@[Note financière ]]+([@[Note technique]]*12))
 

Linda42

XLDnaute Occasionnel
Merci pour ta réponse rapide, mais cela ne fonctionne toujours pas. La formule semble trouver le prix le moins cher de toute la liste mais pas le prix le moins cher du même code produit interne (en G).
 

Pièces jointes

  • EX BPU pour comparaisonClasseur1.xlsx
    36.1 KB · Affichages: 4

natorp

XLDnaute Accro
Bjr Linda et Chris

Linda : vous êtes sûre d'avoir bien recopier la formule ? pour moi ça marche très bien
Chris : je me suis permis de joindre un fichier avec tes formules

Cordialement, Gérard
 

Pièces jointes

  • EX BPU pour comparaisonClasseur1 (1).xlsx
    37.2 KB · Affichages: 18

chris

XLDnaute Barbatruc
RE à tous

Attention à ne pas confondre colonne et cellule


VB:
SI([@[Code produit Interne]]=[@[Code produit Interne]]
n'est pas
SI([Code produit Interne]=[@[Code produit Interne]]

l'@ correspond toujours à la ligne en cours

Petit rappel sur la sélection dans les tableaux structurés
La ligne de titre
  • La ligne de titre a une importance capitale dans les tableaux.
    • Si la cellule active fait partie du tableau, il suffit de descendre dans la liste avec la molette de la souris ou l'ascenseur, pour que les lettres des colonnes laissent place aux titres des colonnes du tableau : il n'est donc pas nécessaire de figer la première ligne pour conserver la ligne de titre.
    • Plus important encore : si l'on clique sur le titre d'une colonne, lorsqu'il a ainsi pris la position d'une lettre de colonne, cela ne sélectionne ni la cellule de titre, ni la colonne complète de l'onglet, mais les données de la colonne du tableau, de la ligne située sous le titre à la dernière ligne du tableau.
      Sachant que la taille du tableau est automatiquement ajustée en cas d'ajout ou de suppression de ligne, l'avantage de cette sélection est de permettre une référence aux données d'une colonne indépendamment de l'adresse des cellules utilisées.
    • Si les volets sont figés, la solution est alors de viser le haut de la cellule contenant le titre juste entre la limite supérieure de la cellule de titre et le texte du titre de façon à obtenir le pointeur de souris
      fleche
      pour sélectionner d'un clic.
 
Dernière édition:

Linda42

XLDnaute Occasionnel
RE à tous

Attention à ne pas confondre colonne et cellule


VB:
SI([@[Code produit Interne]]=[@[Code produit Interne]]
n'est pas
SI([Code produit Interne]=[@[Code produit Interne]]

l'@ correspond toujours à la ligne en cours

Petit rappel sur la sélection dans les tableaux structurés
La ligne de titre
  • La ligne de titre a une importance capitale dans les tableaux.
    • Si la cellule active fait partie du tableau, il suffit de descendre dans la liste avec la molette de la souris ou l'ascenseur, pour que les lettres des colonnes laissent place aux titres des colonnes du tableau : il n'est donc pas nécessaire de figer la première ligne pour conserver la ligne de titre.
    • Plus important encore : si l'on clique sur le titre d'une colonne, lorsqu'il a ainsi pris la position d'une lettre de colonne, cela ne sélectionne ni la cellule de titre, ni la colonne complète de l'onglet, mais les données de la colonne du tableau, de la ligne située sous le titre à la dernière ligne du tableau.
      Sachant que la taille du tableau est automatiquement ajustée en cas d'ajout ou de suppression de ligne, l'avantage de cette sélection est de permettre une référence aux données d'une colonne indépendamment de l'adresse des cellules utilisées.
    • Si les volets sont figés, la solution est alors de viser le haut de la cellule contenant le titre juste entre la limite supérieure de la cellule de titre et le texte du titre de façon à obtenir le pointeur de souris
      fleche
      pour sélectionner d'un clic.
Merci pour ces précision. Je ne connaissais pas la fonction du @
 

Linda42

XLDnaute Occasionnel
Bjr Linda et Chris

Linda : vous êtes sûre d'avoir bien recopier la formule ? pour moi ça marche très bien
Chris : je me suis permis de joindre un fichier avec tes formules

Cordialement, Gérard
Gérard,

Merci pour la pièce jointe. Je confirme que même en ayant recopier la formule, cela ne fonctionne pas dans mon tableau. Et je constate que cela fonctionne dans ta pièce jointe.

Je vais donc utiliser ton fichier pour continuer car je ne comprends vraiment pas pourquoi cela ne marche pas.
 

Linda42

XLDnaute Occasionnel
Gérard,

Merci pour la pièce jointe. Je confirme que même en ayant recopier la formule, cela ne fonctionne pas dans mon tableau. Et je constate que cela fonctionne dans ta pièce jointe.

Je vais donc utiliser ton fichier pour continuer car je ne comprends vraiment pas pourquoi cela ne marche pas.
Zut, quand je veut imbriquée une autre formule ou simplement quand je sélectionne la cellule contenant la formule + entrée, tout disparaît et je n'ai plus que la référence la moins chère qui apparait =, je reviens au point de départ.
 

Linda42

XLDnaute Occasionnel
Gérard, Chris

Quand j'ouvre ton fichier, et que je consulte la cellule contenant la formule, je constate que les signes { } encadre la formule. Et la formule fonctionne bien et répond à ma problématique
En revanche, quand je clique dans la cellule, ces signes disparaissent, sans que je fasse quoique ce soit, et la formule ne correspond plus à ma problématique car elle ressort le prix le plus bas de toutes les lignes. Je ne comprends vraiment pas.

Si vous avez une autre idée de formule qui permettrait de faire ressortir le prix le plus bas parmis le même code produit interne, je suis preneuse.
 

Linda42

XLDnaute Occasionnel
Deuxième étape : je dois attribuer une note en fonction du prix le plus petit :

La note de 5 est attribuée à l'offre la moins chère (si le prix est le moins cher alors 5) et les autres notes sont attribuées selon la formule = (plus petit montant/montant à comparer) X 5
Toujours avec ma formule de base, j'arrive à attribuer la note de 5 mais pour le reste, je bloque :
VB:
=SI(SI(ET([@[Montant lot HT]]=MIN(SI([Code produit Interne]=[@[Code produit Interne]];[Montant lot HT];9^9));NB.SI([Code produit Interne];[@[Code produit Interne]])>1);1;"")=1;5;"ko")

Le petite changement par rapport au début, c'est que je vais finalement comparer la colonne montant du lot et plus le prix unitaire (ce qui revient au même)

Je dois donc remplacer "ko" par une formule qui calcule une note parmi le même code produit, sachant que le prix le plus bas sera noté 5 (d'où la modification de ma formule, en imbriquant un si, et en affectant 5, si la formule est = à 1), et que les autres prix seront noter avec en fonction de ce prix minimum (plus petit montant/montant à comparer) X 5).

J'espère être clair, ça l'est dans ma tête mais pas sur que j'ai réussi à l'exprimer

Merci à tous
 

chris

XLDnaute Barbatruc
RE

Pourquoi pas tout simplement
VB:
=RANG([@[Prix du condit TTC Remisé]];DECALER(BPU_Lot_1[[#En-têtes];[Prix du condit TTC Remisé]];EQUIV([@[Code produit Interne]];[Code produit Interne];0);;NB.SI([Code produit Interne];[@[Code produit Interne]])))-1
 

Linda42

XLDnaute Occasionnel
Magnifique, j'ai toujours tendance à me compliquer la vie :cool:
Je sais pourquoi je me complique la vie, car je dois pouvoir justifier la note que j'ai attribué.

J'ai deux critères et la notation globale s'effectue de la façon suivante :
Note Financière pondérée à 40% - Note de 0 à 5 - J'obtiens donc une note pondéré en multipliant la note par 8 (correspondant à 40/5)
Note Financière pondérée à 60% - Note de 0 à 5 - J'obtiens donc une note pondéré en multipliant la note par 12 (correspondant à 60/5)

La somme de ces deux notes me permettrons de choisir le fournisseur ayant obtenu la meilleur note globale.

En affectant un rang, cela me fausse ma note globale car ce n'est pas un calcul mais le rang.

Mais l'idée du rang est pas mal pour d'autre appel d'offre.
 

Discussions similaires

Réponses
3
Affichages
266

Statistiques des forums

Discussions
312 223
Messages
2 086 397
Membres
103 200
dernier inscrit
pascalgip