des Si (beaucoup trop) ou une autre méthode ? (formule XXL nécessaire)
11 réponses
SylVBA
Bonjour,
J=92ai en colonne F des chiffres d=92affaires de nos labos=85
En colonne E le % de progression ( / ann=E9e pr=E9c=E9dente) =85 de (=96 qq=
chose
% =E0 +100%...)
Je n=92arrive pas =E0 =E9crire la formule qui me permettrait de calculer le
% de remise attribu=E9e suivant nos r=E8gles (complexes !!!) :
Les contraintes de la formule :
Il y a d=92abord plusieurs palier de CA et pour chaque palier, 2
possibilit=E9s de remise (qui sont diff=E9rentes suivant les paliers)
suivant la progression du CA / ann=E9e pr=E9c=E9dente (en fait 3
possibilit=E9s, mais la troisi=E8me possibilit=E9, ce n=92est pas de remise=
)
Si le client fait =96 de 1499 Euros de Ca =3D il n=92a le droit =E0 rien, l=
a
progression n=92entre, alors m=EAme pas en jeux
Si le client fait entre 1500 et 2499 Euros :
1er cas sa progression est < =E0 4.99% : il n=92a le droit =E0 rien
2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit
=E0 0.5% de remise
3eme cas sa progression est >=3D =E0 10% : Il a le droit =E0 1% de remise
Si le client fait entre 2500 et 4999 Euros :
1er cas sa progression est < =E0 4.99% : il n=92a le droit =E0 rien
2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit
=E0 1% de remise
3eme cas sa progression est >=3D =E0 10% : Il a le droit =E0 1,5% de remise
Si le client fait entre 5000 et 9999 Euros : (idem =E0 la tranche
pr=E9c=E9dente)
1er cas sa progression est < =E0 4.99% : il n=92a le droit =E0 rien
2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit
=E0 1% de remise
3eme cas sa progression est >=3D =E0 10% : Il a le droit =E0 1,5% de remise
Si le client fait plus de 10000 Euros :
1er cas sa progression est < =E0 4.99% : il n=92a le droit =E0 rien
2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit
=E0 1,5% de remise
3eme cas sa progression est >=3D =E0 10% : Il a le droit =E0 2,5% de remise
Je pense pouvoir le faire en VBA avec des select case et autre(s) mais
la, VBA forbidden !!! Il faut le faire en formules, et apr=E8s des
heures de tests, toujours pas de solution qui semble fonctionner=85. Ou
alors une Function VBA mais l=E0 je coince aussi !!!
Je suis muette devant mon clavier, et finalement moins =E0 l=92aise avec
les formules.
Pouvez vous m=92aider, quelles m=E9thodes employer ? On dira que la
colonne de la formule doit =EAtre le G ? Je sollicite les excellents
contributeurs de ce forum afin de m=92=E9clairer,
Je vous remercie d=92avance de votre temps (et de votre savoir), je ne
doute pas que cela ne puisse se faire,
Je reste connect=E9e, et impatiente, pr=EAte =E0 r=E9agir !!
Bonne soir=E9e
SylVBA
Ps: les plages ne sont pas nomm=E9es, mais peuvent l'etre si besoin,
XL2003 XP
Bonjour, autre méthode : faire un tableau de remise et aller chercher la remise correspondante avec une formule du type : =INDEX('tableau remise'!$B$2:$F$4;EQUIV(E2;'tableau remise'!$A$2:$A$4;1);EQUIV(F2;'tableau remise'!$B$1:$F$1;1))
http://cjoint.com/?lniVtatReZ
Cordialement Michel dit "Sam"
"SylVBA" a écrit dans le message de news:
Bonjour,
J’ai en colonne F des chiffres d’affaires de nos labos… En colonne E le % de progression ( / année précédente) … de (– qqchose % à +100%...)
Je n’arrive pas à écrire la formule qui me permettrait de calculer le % de remise attribuée suivant nos règles (complexes !!!) :
Les contraintes de la formule :
Il y a d’abord plusieurs palier de CA et pour chaque palier, 2 possibilités de remise (qui sont différentes suivant les paliers) suivant la progression du CA / année précédente (en fait 3 possibilités, mais la troisième possibilité, ce n’est pas de remise)
Si le client fait – de 1499 Euros de Ca = il n’a le droit à rien, la progression n’entre, alors même pas en jeux
Si le client fait entre 1500 et 2499 Euros : 1er cas sa progression est < à 4.99% : il n’a le droit à rien 2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit à 0.5% de remise 3eme cas sa progression est >= à 10% : Il a le droit à 1% de remise
Si le client fait entre 2500 et 4999 Euros : 1er cas sa progression est < à 4.99% : il n’a le droit à rien 2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit à 1% de remise 3eme cas sa progression est >= à 10% : Il a le droit à 1,5% de remise
Si le client fait entre 5000 et 9999 Euros : (idem à la tranche précédente) 1er cas sa progression est < à 4.99% : il n’a le droit à rien 2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit à 1% de remise 3eme cas sa progression est >= à 10% : Il a le droit à 1,5% de remise
Si le client fait plus de 10000 Euros : 1er cas sa progression est < à 4.99% : il n’a le droit à rien 2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit à 1,5% de remise 3eme cas sa progression est >= à 10% : Il a le droit à 2,5% de remise
Je pense pouvoir le faire en VBA avec des select case et autre(s) mais la, VBA forbidden !!! Il faut le faire en formules, et après des heures de tests, toujours pas de solution qui semble fonctionner…. Ou alors une Function VBA mais là je coince aussi !!!
Je suis muette devant mon clavier, et finalement moins à l’aise avec les formules.
Pouvez vous m’aider, quelles méthodes employer ? On dira que la colonne de la formule doit être le G ? Je sollicite les excellents contributeurs de ce forum afin de m’éclairer,
Je vous remercie d’avance de votre temps (et de votre savoir), je ne doute pas que cela ne puisse se faire,
Je reste connectée, et impatiente, prête à réagir !!
Bonne soirée
SylVBA Ps: les plages ne sont pas nommées, mais peuvent l'etre si besoin, XL2003 XP
Bonjour,
autre méthode : faire un tableau de remise et aller chercher la remise
correspondante
avec une formule du type :
=INDEX('tableau remise'!$B$2:$F$4;EQUIV(E2;'tableau
remise'!$A$2:$A$4;1);EQUIV(F2;'tableau remise'!$B$1:$F$1;1))
http://cjoint.com/?lniVtatReZ
Cordialement
Michel dit "Sam"
"SylVBA" <sylvie.laurent82@wanadoo.fr> a écrit dans le message de news:
3f5957e4-7545-46c5-be21-9a1ce93452d0@f37g2000pri.googlegroups.com...
Bonjour,
J’ai en colonne F des chiffres d’affaires de nos labos…
En colonne E le % de progression ( / année précédente) … de (– qqchose
% à +100%...)
Je n’arrive pas à écrire la formule qui me permettrait de calculer le
% de remise attribuée suivant nos règles (complexes !!!) :
Les contraintes de la formule :
Il y a d’abord plusieurs palier de CA et pour chaque palier, 2
possibilités de remise (qui sont différentes suivant les paliers)
suivant la progression du CA / année précédente (en fait 3
possibilités, mais la troisième possibilité, ce n’est pas de remise)
Si le client fait – de 1499 Euros de Ca = il n’a le droit à rien, la
progression n’entre, alors même pas en jeux
Si le client fait entre 1500 et 2499 Euros :
1er cas sa progression est < à 4.99% : il n’a le droit à rien
2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit
à 0.5% de remise
3eme cas sa progression est >= à 10% : Il a le droit à 1% de remise
Si le client fait entre 2500 et 4999 Euros :
1er cas sa progression est < à 4.99% : il n’a le droit à rien
2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit
à 1% de remise
3eme cas sa progression est >= à 10% : Il a le droit à 1,5% de remise
Si le client fait entre 5000 et 9999 Euros : (idem à la tranche
précédente)
1er cas sa progression est < à 4.99% : il n’a le droit à rien
2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit
à 1% de remise
3eme cas sa progression est >= à 10% : Il a le droit à 1,5% de remise
Si le client fait plus de 10000 Euros :
1er cas sa progression est < à 4.99% : il n’a le droit à rien
2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit
à 1,5% de remise
3eme cas sa progression est >= à 10% : Il a le droit à 2,5% de remise
Je pense pouvoir le faire en VBA avec des select case et autre(s) mais
la, VBA forbidden !!! Il faut le faire en formules, et après des
heures de tests, toujours pas de solution qui semble fonctionner…. Ou
alors une Function VBA mais là je coince aussi !!!
Je suis muette devant mon clavier, et finalement moins à l’aise avec
les formules.
Pouvez vous m’aider, quelles méthodes employer ? On dira que la
colonne de la formule doit être le G ? Je sollicite les excellents
contributeurs de ce forum afin de m’éclairer,
Je vous remercie d’avance de votre temps (et de votre savoir), je ne
doute pas que cela ne puisse se faire,
Je reste connectée, et impatiente, prête à réagir !!
Bonne soirée
SylVBA
Ps: les plages ne sont pas nommées, mais peuvent l'etre si besoin,
XL2003 XP
Bonjour, autre méthode : faire un tableau de remise et aller chercher la remise correspondante avec une formule du type : =INDEX('tableau remise'!$B$2:$F$4;EQUIV(E2;'tableau remise'!$A$2:$A$4;1);EQUIV(F2;'tableau remise'!$B$1:$F$1;1))
http://cjoint.com/?lniVtatReZ
Cordialement Michel dit "Sam"
"SylVBA" a écrit dans le message de news:
Bonjour,
J’ai en colonne F des chiffres d’affaires de nos labos… En colonne E le % de progression ( / année précédente) … de (– qqchose % à +100%...)
Je n’arrive pas à écrire la formule qui me permettrait de calculer le % de remise attribuée suivant nos règles (complexes !!!) :
Les contraintes de la formule :
Il y a d’abord plusieurs palier de CA et pour chaque palier, 2 possibilités de remise (qui sont différentes suivant les paliers) suivant la progression du CA / année précédente (en fait 3 possibilités, mais la troisième possibilité, ce n’est pas de remise)
Si le client fait – de 1499 Euros de Ca = il n’a le droit à rien, la progression n’entre, alors même pas en jeux
Si le client fait entre 1500 et 2499 Euros : 1er cas sa progression est < à 4.99% : il n’a le droit à rien 2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit à 0.5% de remise 3eme cas sa progression est >= à 10% : Il a le droit à 1% de remise
Si le client fait entre 2500 et 4999 Euros : 1er cas sa progression est < à 4.99% : il n’a le droit à rien 2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit à 1% de remise 3eme cas sa progression est >= à 10% : Il a le droit à 1,5% de remise
Si le client fait entre 5000 et 9999 Euros : (idem à la tranche précédente) 1er cas sa progression est < à 4.99% : il n’a le droit à rien 2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit à 1% de remise 3eme cas sa progression est >= à 10% : Il a le droit à 1,5% de remise
Si le client fait plus de 10000 Euros : 1er cas sa progression est < à 4.99% : il n’a le droit à rien 2eme cas sa progression est comprise entre 5% et 9.99% : il a le droit à 1,5% de remise 3eme cas sa progression est >= à 10% : Il a le droit à 2,5% de remise
Je pense pouvoir le faire en VBA avec des select case et autre(s) mais la, VBA forbidden !!! Il faut le faire en formules, et après des heures de tests, toujours pas de solution qui semble fonctionner…. Ou alors une Function VBA mais là je coince aussi !!!
Je suis muette devant mon clavier, et finalement moins à l’aise avec les formules.
Pouvez vous m’aider, quelles méthodes employer ? On dira que la colonne de la formule doit être le G ? Je sollicite les excellents contributeurs de ce forum afin de m’éclairer,
Je vous remercie d’avance de votre temps (et de votre savoir), je ne doute pas que cela ne puisse se faire,
Je reste connectée, et impatiente, prête à réagir !!
Bonne soirée
SylVBA Ps: les plages ne sont pas nommées, mais peuvent l'etre si besoin, XL2003 XP