Recherche avec double critères - listing prix avec prix dégressif selon quantité

Bonjour,

J’ai beau rechercher parmi les sujets déjà ouverts, je ne trouve pas la réponse qu’il me faut. Help !

J’ai un fichier avec 2 onglets :

  • 1 onglet PRIX avec 3 colonnes : référence / palier quantité / prix unitaire
  • 1 onglet de DEVIS dans lequel j’indique la ref et la quantité souhaitée et je veux afficher le prix correspondant.

J’arrive à faire de la recherche à double critère si la quantité que je saisis dans le devis est exactement celle du palier quantitatif de la grille tarifaire
Mais si je suis entre 2 paliers, ça ne marche plus.
Les paliers quantitatifs sont différents d’une référence à une autre, certaines ont des paliers 1 / 5, d’autres 1/3, etc…

J’ai bien essayé avec les formules INDEX-EQUIV mais je n’y arrive pas
Mon listing fait + de 9500 lignes (6000 refs différentes avec jusqu’à 4 paliers quantitatif pour une ref)

NB: je ne peux pas changer la présentation du tableau du type mettre les paliers quantitatifs en abscisse car dans la réalité ce tableau comporte une trentaine de colonnes qui pour certaines contiennent déjà pas mal de formules.

En PJ un extrait du fichier
FORUM_EXCEL_FRAMB.xlsx (20,1 Ko)

Pouvez vous m’aider svp ?
Merci d’avance
Framb

Bonsoir @Framb,

Voici une proposition:

Dans la feuille “SIMUL_DEVIS” en “C2”

=SIERREUR(INDEX(PRIX!$C$2:$C$27;SOMMEPROD(MAX((PRIX!$A$2:$A$27=$A2)*(PRIX!$B$2:$B$27=$B2)*LIGNE(PRIX!$A$2:$A$27)-1)));INDEX(PRIX!$C$2:$C$27;SOMMEPROD(MAX((PRIX!$A$2:$A$27=$A2)*(PRIX!$B$2:$B$27<>$B2)*LIGNE(PRIX!$A$2:$A$27)-1))))

Et tirer vers le bas autant que nécessaire.

:warning: Les plages doivent être définies sinon ça fonctionne mal.

Ton fichier en retour ICI==> Framb V1.xlsx (23,2 Ko)

Cordialement.

Bonsoir @mdo100

Merci pour ton aide !!!
J’ai un seul souci avec le résultat: à la ligne 3 le prix n’est pas le bon. snif
En effet pour la ref U0114, le palier quantitatif est à 5 donc le prix pour quantité 4 devrait être à 1.59 et non 0,96
Et du coup je suis toujours coincée.

Si t’as une autre idée, je suis preneuse
Merci d’avance !!
Bonne soirée
Framb

Re @Framb,

Effectivement, je vais réfléchir à cette problématique, je ne te promets pas une réponse ce soir.

Bonne soirée également.
Cordialement.

Re @Framb,

Essai cette version en “C2”:

=SIERREUR(INDEX(PRIX!$C$2:$C$27;SOMMEPROD(MAX((PRIX!$A$2:$A$27=$A2)*(PRIX!$B$2:$B$27<=$B2)*LIGNE(PRIX!$A$2:$A$27)-1)));"")

Et tirer vers le bas autant que nécessaire.

Cordialement.

1 « J'aime »

Re @Framb,

Pendant que j’y suis, voici une version pour un nombre de données illimités concernant la feuille “PRIX” avec l’utilisation du “Gestionnaire de noms”.

En “C2”

=SIERREUR(INDEX(ColC;SOMMEPROD(MAX((ColA=$A2)*(ColB<=$B2)*LIGNE(ColA)-1)));"")

Et ton fichier en retour ICI==> Framb V2.xlsx (23,5 Ko)

Cordialement.

2 « J'aime »

Super !!!
Merci bcp @mdo100
tu me sauves!
Bonne journée