Trouver une plage de cellule répondant à certains critères

Bonjour à tous,

Voici mon interrogation :

J'ai d'une part un tableau qui reprend toutes mes ventes, avec en colonne :

  • L'article
  • La date de la vente
  • Le prix de vente
  • ...

D'autre part, un tableau avec les tarifs de mes articles. Il y a plusieurs tarifs pour chaque article car le tarif évolue avec le temps.

  • L'article
  • La date du tarif
  • Le prix
  • ...

Voir pièce jointe pour un exemple.

J'aimerais, pour chaque ligne de mes ventes, trouver le tarif qu'il avait à la date de la vente.

Ca revient à dire, trouver le prix dans le tableau "Tarif" dont :

  • Le code article "Tarif" = Le code article "Vente"
  • La date "Tarif" est la plus grande inférieure à la date de la vente.

Je sais déjà que je vais devoir partir sur une base avec GRANDE.VALEUR(matrice; k) où:

  • k = 1
  • matrice = ma plage de cellule qui réponds à mes critères

Reste à savoir comment générer cette matrice de cellules.

Avez-vous une solution ?

Merci.

Catab.

14exemple.xlsx (10.69 Ko)

Salut,

Dans le fichier ci-joint, une macro trouve le bon tarif à chaque modification de la plage A:C pour autant que les colonnes A et B soient remplies.

Attention : ce code est sensible à la casse.

Cordialement.

8exemple-v1.xlsm (18.45 Ko)

Re tout le monde,

J'ai trouvé une solution qui ne fait pas appel à du VBA... enfin je crois parce que je suis encore frileux avec la formule que j'ai utilisé, mais elle a l'air de marcher sur les deux exemples que j'ai utilisés.

La solution s'appelle SOMEPROD().

=SOMMEPROD(MAX((Tableau1[Article]=[@Article])*(Tableau1[Date]<=[@Date])*(Tableau1[Prix])))

Je ne peux que vous renvoyer vers la doc de SOMMEPROD() pour l'expliquer.

Je ne la maitrise pas assez pour ça.

Disons juste que, en gros, MAX((Tableau1[Article]=[@Article])*(Tableau1[Date]<=[@Date])) va isoler la ligne dont je veux extraire le prix sur base de mes deux critères. Le résultat = 1. Ensuite je multiplie ce résultat par la valeur de la date trouvée pour retomber sur le prix.

Merci cependant à Yvouille pour ta solution.

Bàv,

J'ai trouvé une solution ... enfin je crois parce que je suis encore frileux avec la formule que j'ai utilisé, mais elle a l'air de marcher sur les deux exemples que j'ai utilisés.

Tu peux contrôler avec mon code, il fonctionne parfaitement

Chaleureusement.

Rechercher des sujets similaires à "trouver plage repondant certains criteres"