Formule pour avoir le prix le plus récent d'une référence

Bonjour à tous,

J'ai besoin de votre aide concernant un problème que je rencontre sur Excel. En effet, j'ai la situation suivante:

Pour faire simple, mon fichier est découpé en 2 parties:

  • la première partie contenant toutes les data
  • la deuxième partie qui concerne les calculs en allant interroger les data

Comme vous pourrez le voir dans le fichier joint à ce post, dans la partie data, nous trouvons 4 informations différentes (ref, date, prix et site) et, la deuxième partie (correspondant à ma partie où je fais les calculs, "Brand") est composée de 2 informations de base (ref et site) + 1 information à calculer qui est le prix.

Ce que je cherche à faire:

Dans l'onglet "Brand", je veux trouver le prix. Je souhaite avoir le prix le plus récent attribué à la ref, sur le site indiqué dans "Brand".

Du coup, il faut tenir compte des paramètres suivants:

  • Ref
  • Date la plus récente
  • Site sur lequel se trouve la ref

Dans l'exemple que je vous ai fourni (qui est juste un fichier que j'ai créé pour vous exposer mon problème), en gros, dans la cellule C4 de l'onglet "Brand", j'attends le résultat => 7$ (cellule C10) qui correspond au prix le plus récent attribué à la ref 1 présente sur le site A.

Dans l'idéal je souhaiterai avoir une solution avec une formule mais si je n'ai pas le choix, je prends aussi la solution en macro ^^

Je vous remercie d'avance!

PS: N'hésitez-pas à me poser des questions si je ne suis pas clair (ce qui est fort possible ^^)

Hello Jérôme,

voici une piste avec une formule matricielle pour récupérer la dernière date de maj de la référénce,

=MAX(SI((Data!$D:$D=CRITERE_PRODUIT)*(Data!$A:$A=CRITERE_REF);Data!$B:$B))

puis une formule de somme.si.ens qui rapatrie le prix.

 =SOMME.SI.ENS(Data!$C:$C;Data!D:D;CRITERE_PRODUIT;Data!A:A;CRITERE_REF;Data!B:B;$C$4)

A tester et à adapter (Je pense qu'il faudra contrôler l'absence de doublon sur la date de maj.)

Bonjour,

Tout d'abord, merci beaucoup wherewego pour cette réponse rapide. J'ai testé sur le fichier que j'ai transmis dans le forum et effectivement ça fonctionne. Cependant cela ne fonctionne pas sur mon fichier de base (le plus important). En fait, lorsque je faais la formule pour la date, Excel m'indique un résultat de "0". J'ai bien validé avec Ctrl+Shift+Enter mais ça marche que sur le fichier que j'ai transmis sur le forum.

J'ai peut-être une idée de la raison du dysfonctionnement mais si quelqu'un peut me confirmer ça m'arrange

En fait, les data sont extraites d'un logiciel (plus précisément d'un ERP) et du coup, je me demande si Excel refusent certaines formules. J'ai testé des formules basiques (addition) et ça fonctionne. Par contre j'ai testé l'autre formule, et j'ai un résultat de 0 malgré ma validation avec Ctrl+Shift+Enter.

Est-ce que cela vous parle?

Merci beaucoup!

Bonjour,

un peu tarabiscotée mais bon :

=INDEX(C:C;MAX((((A2:A12=I3)*(D2:D12=I2)*B2:B12)=MAX((A2:A12=I3)*(D2:D12=I2)*B2:B12))*LIGNE(A2:A12)))

formule matricielle.

eric

Bonjour Jérôme,

A tout hasard, as-tu adapté les référence (i.e les plages nommées à changer via le gestionnaire de nom) que j'avais utilisé dans ma proposition de solution ?

Bye.

Bonjour,

Tout d'abord, je vous remercie Eric et wherewego pour vos réponses.

@Eric: J'ai testé mais j'ai le même problème que lorsque j'ai testé les formules de wherewego, c'est-à-dire, j'ai un résultat nul malgré que je valide avec Ctrl+Shift+Enter.

@wherewego: Oui oui j'ai modifié les valeurs pour que ça colle avec mes vraies données.

J'avoue que je ne comprends pas trop pourquoi je ne peux pas faire certaines formules sur mon fichier, pourtant je n'ai pas mis de protections particulières.

Merci beaucoup en tout cas!

Si vous avez des éclaircissements, n'hésitez-pas!

D'ailleurs, si vous avez une solution via une Macro, je pense que je vais m'y rabattre dessus. Le seul hic, c'est que j'en ai une cinquantaine qui sont actives, du coup je vais l'intégrer avec je pense.

Merci!

Bonjour,

J'étais resté sur la même feuille. Sur une autre feuille c'est :

=INDEX(Data!C:C;MAX((((Data!A2:A12=C3)*(Data!D2:D12=C2)*Data!B2:B12)=MAX((Data!A2:A12=C3)*(Data!D2:D12=C2)*Data!B2:B12))*LIGNE(Data!A2:A12)))

eric

Bonjour tout le monde,

Merci beaucoup pour vos retours.

Malheureusement j'obtiens toujours 0 lorsque je valide la formule (même via Ctrl+Shift+Enter).

J'ai l'impression que j'ai un problème dans mon fichier: je peux copier des formules existantes mais je ne peux pas créer de nouvelles formules ... sinon j'obtiens aucun résultat ...

Encore merci pour votre aide!

Bonjour,

comme tu n'as pas l'air décidé à montrer ton vrai fichier bonne continuation,.

eric

Bonjour,

Je ne peux pas diffuser ce fichier car il contient des données confidentielles.

Merci quand même pour votre aide!

bonjour

il doit y avoir une histoire de format ;d'espace ......

une contribution

SOMMEPROD(--(Data!B2:B12=MAX((Data!B2:B12)*(--(Data!A2:A12=C3)*(Data!D2:D12=C2))))*Data!C2:C12)

sur un des fichiers....

cordialement

Bonjour,

Merci beaucoup tulipe_4 pour votre. Je vais tester ça et je vous dis.

Encore merci!

Cordialement.

Rechercher des sujets similaires à "formule prix recent reference"