Probleme similaire

Résolu/Fermé
philric Messages postés 36 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 28 septembre 2012 - 9 mars 2011 à 18:00
eriiic Messages postés 24513 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 mars 2023 - 10 mars 2011 à 19:28
Bonjour,

je cherche a réaliser une macro qui multiplierais un prix de base par un coefficient et selon la valeur du prix de base
je m'explique et pour faire simple:
j'ai un tableau avec en colonne E des prix d'achats
en colonne F des prix de ventes qui doivent être calcule en fonction de la valeur du prix d'achat
si le prix d'achat de 0.01 a 50 on applique cette formule (E1*2.4*1.2)
si le prix d'achat de 50.01 a 100 on applique cette formule (E1*1.7*1.2) si le prix d'achat de 100.01 a 250 on applique cette formule (E1*1.5*1.2) si le prix d'achat de 250.01 a 500 on applique cette formule (E1*1.4*1.2) si le prix d'achat de 500.01 et plus on applique cette formule (E1*1.3*1.2) et il sera copie en cellule F1 correspondante (même ligne)
et ainsi de suite pour toutes les lignes du fichier qui pourra évoluer en nombre de lignes,
y a t'il dans le salle quelqu'un qui peut m'aider les macros ne sont pas ma matière de prédilection



6 réponses

eriiic Messages postés 24513 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 mars 2023 7 168
9 mars 2011 à 19:41
Bonsoir,

Comme tes écrats sont réguliers tu peux mettre en F1 :
=E1*CHOISIR(MIN(ENT((E1-0.01)/50)+1;3);2.4;1.7;1.5)*1.2
et recopier vers le bas.

eric
1
Bonjour

avec des SI imbriqués ça pourrait marcher aussi ?

en F1
=Si(E1<=50;E1*2.4*1.2;si(E1<=100;E1*1.7*1.2;si(E1<=250;E1*1.5*1.2;si(E1<=500;E1*1.4*1.2;E1*1.3*1.2))))
1
bonjour,

une macro est elle obligatoire ?, une formule avec des SI imbriqués suffirait.
....
0
philric Messages postés 36 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 28 septembre 2012
9 mars 2011 à 21:12
merci eric ca marche parfaitement mais pas au delà d'une valeur de 150, peut tu m'expliquer la formule ca me permettra de l'utiliser peut être dans d'autre situations et aussi de comprendre ce qui cloche au dessus de 150
phil
0
eriiic Messages postés 24513 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 mars 2023 7 168
9 mars 2011 à 21:59
=E1*CHOISIR(MIN(ENT((E1-0.01)/50)+1;3);2.4;1.7;1.5)*1.2

- le 3 en gras indique le nombre de valeurs que tu as défini derrière : 2.4;1.7;1.5

- ENT((E1-0.01)/50)+1 retourne la tranche de 50 concernée

- MIN(ENT((E1-0.01)/50)+1;3) prend la plus petite valeur entre la tranche et le nombre maxi de tranches définies (3 ici)

- CHOISIR(x;2.4;1.7;1.5) retourne la xième valeur de la liste définie ensuite (2.4;1.7;1.5)

J'espère avoir été clair ;-)

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
philric Messages postés 36 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 28 septembre 2012
9 mars 2011 à 22:47
j'ai 5 coef différents voir 1er post donc j'ai mis =E1*CHOISIR(MIN(ENT((E1-0.01)/50)+1;5);2.4;1.7;1.5;1.4;1.3)*1.2
mais j'ai toujours le problème au dessus de 150 j'ai des erreurs
de 150 a 200 il utilise le coef 1.4 au lieu de 1.5
de 200 a 500 il utilise 1.3 au lieu de 1.5 (>250) et 1.4(>500)
mais a partir de 500 c'est bon
phil
0
eriiic Messages postés 24513 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 mars 2023 7 168
Modifié par eriiic le 9/03/2011 à 23:16
J'avais lu trop vite, je pensais que toutes les tranches étaient de 50, désolé.
met plutôt :
=E1*RECHERCHE(E1;{0;50.01;100.01;250.01;500.01};{2.4;1.7;1.5;1.4;1.3})*1.2

ou si tu veux on peux définir une table à part qui sera plus facile à maintenir si il y a des mises à jours : exemple

eric
0
philric Messages postés 36 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 28 septembre 2012
10 mars 2011 à 10:56
Eric je n'arrive pas a faire fonctionner ta formule par contre celle de paf est ok pas de problèmes, merci de m'avoir aidé
phil
0
eriiic Messages postés 24513 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 mars 2023 7 168
Modifié par eriiic le 10/03/2011 à 19:29
Pas de problème, tu es encore loin de la limite des 7 fonctions imbriquées.
En même temps tu avais quand même le fichier exemple à consulter, difficile de faire mieux pour expliquer...
eric
0