| ||||||||
Petit astucien | Bonjour,
J'ai un tableau excel:
réf prod - palier - prix
200 - 0 - 12.2
200 - 5 - 10.2
201 - 10 - 20.5
201 - 0 - 25
...
J'aimerais avoir le prix en fonction d'une quantité que j'indique;
explication: dans un autre tableau, si je renseigne la ref et la quantité, j'aimerais que le prix unitaire soit recherché dans le tableau ci-dessus:
réf prod - qté - prix ??
200 - 2 - 12.2
ici, le prix qui doit être retourné est 12.2 car la quantité renseignée est >0 et <5
J'ai essayé avec des sommeprod et recherchev mais rien.
Avez-vous une idée?
Merci
| |||||||
Publicité | ||||||||
Astucien | Bonjour,
A priori, j'entrevois une solution, mais seulement dans le cas où pour une référence donnée vous avez toujours 2 solutions pour les quantités. Votre exemple semble montrer que la quantité peut-être > 0 et inférieure ou non à X. Si le 1er cas est toujours 0, il ne sert à rien et cela simplifie le problème à travers une fonction Recherchev imbriquée dans un Si.
Si ce n'est pas le cas, je ne vois que l'utilisation du code VBA.
Mais attendez peut-être d'avoir d'autres solutions. | |||||||
Astucien | moi, je pense que ta base de données n'est pas correcte
car EXCEL est pommé dans la fonction recherche à cause des doublons dans la colonne produit
en effet, il ne doit y avoir qu'une seule référence produit
pour les lignes
et pour les champs de colonne les quantités, met-y les paliers
0 à 5; 6 à 10; 11à 15 ...etc
et les prix dans le tableau ainsi formé
la recherche peut donc se faire sur un seul produit et selon le champ
| |||||||
Petit astucien | Je ne vois pas comment faire un autre tableau car les paliers sont différents pour chaque produit.
pour l'autre solution, utiliser recherchev dans un si, j'ai essayé mais ça ne va pas. Comment écrirais tu la formule?
merci | |||||||
Astucien ![]() | salut
je pense qu'il faut passer par des listes de choix et rechercheV :
dans une feuille tu écrits tes fourchettes de quantité
colonne A / colonne B
qtté<5 / 12,2
5<qtté<10 / 10,5
10<qtté<15 / 10,0
ensuite tu retournes sur ta feuille principale
tu sélectionnes une cellule (par exemple C12) puis Données / validation /onglet "options" et dans "Autoriser" choisir "liste" puis indiquer où est la liste
ensuite dans une autre cellule tu utilises RechercheV en fonction de la valeur de la cellule C12 | |||||||
Astucien | Bonjour,
Quitte à paraître trop insistant (ne me repondez pas si c'est le cas), je répète ma question :
- Dans votre exemple le 1er palier est-il toujours 0 ? Si c'est le cas il ne sert à rien.
- le 2ème palier est différent selon les produits, cela n'est pas un problème, mais peut-il y avoir un 3ème palier ?
Si la réponse est oui à la 1ère question et non à la 2ème (ce que montre votre exemple) la solution me paraît être :
=SI(B2<=0;"";SI(B2<=Feuil2!$B$2;RECHERCHEV(A2;Feuil2!A2:D7;3;FAUX);RECHERCHEV(A2;Feuil2!A2:D7;4;FAUX)))
Dans ce cas(et dans ce cas seulement) votre feuille contenant la formule ne serait pas :
réf prod - palier - prix
200 - 0 - 12.2
200 - 5 - 10.2
201 - 10 - 20.5
201 - 0 - 25
Mais :
réf prod - palier - 1er prix - 2ème prix
200 - 5 - 10.2 - 12.2
201 - 10 - 25 - 20.5
| |||||||
Petit astucien | oui à la 1ère question et non à la 2ème question.
J'ai essayé mais ya un truc qui ne va pas.
"...SI(B2<=Feuil2!$B$2..." c la 2ème ligne qui est prise.
Je vais essayer de trouver comment avoir la ligne. | |||||||
Petit astucien | Merci Yora_senior pour ta formule
J'ai fais un petit arrangement pour la comparaison palier et ça fonctionne
=SI(B2<=0;"";SI(B2<RECHERCHEV(A2;Produits!$A$2:$B$10;2;FAUX);RECHERCHEV(A2;Produits!$A$2:$D$10;3;FAUX);RECHERCHEV(A2;Produits!$A$2:$D$10;4;FAUX))) | |||||||
Astucien | Bonsoir,
Et bien le principal c'est que cela fonctionne, même si chez moi la 1ère version fonctionnait bien.
Bonne soirée. | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|