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
Bonsour® SylVBA avec ferveur ;o))) vous nous disiez :
Jai en colonne F des chiffres daffaires de nos labos En colonne E le % de progression ( / année précédente) de ( qqchose % à +100%...)
Je narrive 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 dabord 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 nest pas de remise)
Si le client fait de 1499 Euros de Ca = il na le droit à rien, la progression nentre, alors même pas en jeux
Si le client fait entre 1500 et 2499 Euros : 1er cas sa progression est < à 4.99% : il na 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 na 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 na 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 na 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
Je reste connectée, et impatiente, prête à réagir !!
;o))) la remise en pourcentage est : =CHOISIR(EQUIV(F1;{0;1500;2500;5000;10000};1);0;CHOISIR(EQUIV(E1;{-1;0, 05;0,1};1);0;0,05;0,01);CHOISIR(EQUIV(E1;{-1;0,05;0,1};1)*1;0;0,01;0,015) ;CHOISIR(EQUIV(E1;{-1;0,05;0,1};1);0;0,01;0,015);CHOISIR(EQUIV(E1;{-1;0,0 5;0,1};1);0;0,015;0,025))
ce n'est qu'une seule formule... le CA determine 5 tranches : EQUIV(F1;{0;1500;2500;5000;10000};1) la progression determine 3 tranches EQUIV(E1;{-1;0,05;0,1};1) il suffit pour chaque de CA faire correspondre les pourcentages respectifs de chaque tranche de progression !!!
pfffff... simple non ??? attention aux virgules, points-virgules, parentheses et accolades !!!!!!
-- -- @+ ;o)))
Bonsour® SylVBA avec ferveur ;o))) vous nous disiez :
Jai en colonne F des chiffres daffaires de nos labos
En colonne E le % de progression ( / année précédente) de ( qqchose
% à +100%...)
Je narrive 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 dabord 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 nest pas de remise)
Si le client fait de 1499 Euros de Ca = il na le droit à rien, la
progression nentre, alors même pas en jeux
Si le client fait entre 1500 et 2499 Euros :
1er cas sa progression est < à 4.99% : il na 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 na 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 na 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 na 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
Je reste connectée, et impatiente, prête à réagir !!
;o)))
la remise en pourcentage est :
=CHOISIR(EQUIV(F1;{0;1500;2500;5000;10000};1);0;CHOISIR(EQUIV(E1;{-1;0, 05;0,1};1);0;0,05;0,01);CHOISIR(EQUIV(E1;{-1;0,05;0,1};1)*1;0;0,01;0,015) ;CHOISIR(EQUIV(E1;{-1;0,05;0,1};1);0;0,01;0,015);CHOISIR(EQUIV(E1;{-1;0,0 5;0,1};1);0;0,015;0,025))
ce n'est qu'une seule formule...
le CA determine 5 tranches : EQUIV(F1;{0;1500;2500;5000;10000};1)
la progression determine 3 tranches EQUIV(E1;{-1;0,05;0,1};1)
il suffit pour chaque de CA faire correspondre les pourcentages respectifs de chaque tranche de progression !!!
pfffff... simple non ???
attention aux virgules, points-virgules, parentheses et accolades !!!!!!
Bonsour® SylVBA avec ferveur ;o))) vous nous disiez :
Jai en colonne F des chiffres daffaires de nos labos En colonne E le % de progression ( / année précédente) de ( qqchose % à +100%...)
Je narrive 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 dabord 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 nest pas de remise)
Si le client fait de 1499 Euros de Ca = il na le droit à rien, la progression nentre, alors même pas en jeux
Si le client fait entre 1500 et 2499 Euros : 1er cas sa progression est < à 4.99% : il na 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 na 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 na 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 na 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
Je reste connectée, et impatiente, prête à réagir !!
;o))) la remise en pourcentage est : =CHOISIR(EQUIV(F1;{0;1500;2500;5000;10000};1);0;CHOISIR(EQUIV(E1;{-1;0, 05;0,1};1);0;0,05;0,01);CHOISIR(EQUIV(E1;{-1;0,05;0,1};1)*1;0;0,01;0,015) ;CHOISIR(EQUIV(E1;{-1;0,05;0,1};1);0;0,01;0,015);CHOISIR(EQUIV(E1;{-1;0,0 5;0,1};1);0;0,015;0,025))
ce n'est qu'une seule formule... le CA determine 5 tranches : EQUIV(F1;{0;1500;2500;5000;10000};1) la progression determine 3 tranches EQUIV(E1;{-1;0,05;0,1};1) il suffit pour chaque de CA faire correspondre les pourcentages respectifs de chaque tranche de progression !!!
pfffff... simple non ??? attention aux virgules, points-virgules, parentheses et accolades !!!!!!
-- -- @+ ;o)))
SylVBA
Bsr modeste,
La je suis très épatée (à la lecture)
je vais essayer de comprendre, et d'appliquer.....
Ta formule donne t'elle le % de résultat: 1,5% par exemple ?
Venant de Modeste, forcément cela doit etre juste, si si je regarde souvent tes réponses, donc merci d'avoir pris le temps de te pencher sur mon problème, je planche moi maintenant et ne manquerai pas de revenir pour te donner mon avis (et certainement mille mercis !!!)
A tout à l'heure
Syl VBA
Bsr modeste,
La je suis très épatée (à la lecture)
je vais essayer de comprendre, et d'appliquer.....
Ta formule donne t'elle le % de résultat: 1,5% par exemple ?
Venant de Modeste, forcément cela doit etre juste, si si je regarde
souvent tes réponses, donc merci d'avoir pris le temps de te pencher
sur mon problème, je planche moi maintenant et ne manquerai pas de
revenir pour te donner mon avis (et certainement mille mercis !!!)
je vais essayer de comprendre, et d'appliquer.....
Ta formule donne t'elle le % de résultat: 1,5% par exemple ?
Venant de Modeste, forcément cela doit etre juste, si si je regarde souvent tes réponses, donc merci d'avoir pris le temps de te pencher sur mon problème, je planche moi maintenant et ne manquerai pas de revenir pour te donner mon avis (et certainement mille mercis !!!)
A tout à l'heure
Syl VBA
Modeste
Bonsour® Modeste avec ferveur ;o))) vous nous disiez :
pfffff... simple non ??? attention aux virgules, points-virgules, parentheses et accolades !!!!!!
Bonsour® SylVBA avec ferveur ;o))) vous nous disiez :
La je suis très épatée (à la lecture)
je vais essayer de comprendre, et d'appliquer.....
Ta formule donne t'elle le % de résultat: 1,5% par exemple ?
Modeste n'est qu'un pseudo ;o)))) vitesse et précipitation.... un asterisque "*" s'est subrepticement invité dans la formule que je répéte ici : =CHOISIR(EQUIV(F2;{0;1500;2500;5000;10000};1);0;CHOISIR(EQUIV(E2;{-1;0, 05;0,1};1);0;0,005;0,01);CHOISIR(EQUIV(E2;{-1;0,05;0,1};1);0;0,01;0,015); CHOISIR(EQUIV(E2;{-1;0,05;0,1};1);0;0,01;0,015);CHOISIR(EQUIV(E2;{-1;0,05 ;0,1};1);0;0,015;0,025))
le résultat est sous forme décimale, il convient d'utiliser le format : 0,0%
-- -- @+ ;o)))
Bonsour® SylVBA avec ferveur ;o))) vous nous disiez :
La je suis très épatée (à la lecture)
je vais essayer de comprendre, et d'appliquer.....
Ta formule donne t'elle le % de résultat: 1,5% par exemple ?
Modeste n'est qu'un pseudo ;o))))
vitesse et précipitation....
un asterisque "*" s'est subrepticement invité dans la formule
que je répéte ici :
=CHOISIR(EQUIV(F2;{0;1500;2500;5000;10000};1);0;CHOISIR(EQUIV(E2;{-1;0, 05;0,1};1);0;0,005;0,01);CHOISIR(EQUIV(E2;{-1;0,05;0,1};1);0;0,01;0,015); CHOISIR(EQUIV(E2;{-1;0,05;0,1};1);0;0,01;0,015);CHOISIR(EQUIV(E2;{-1;0,05 ;0,1};1);0;0,015;0,025))
le résultat est sous forme décimale, il convient d'utiliser le format : 0,0%
Bonsour® SylVBA avec ferveur ;o))) vous nous disiez :
La je suis très épatée (à la lecture)
je vais essayer de comprendre, et d'appliquer.....
Ta formule donne t'elle le % de résultat: 1,5% par exemple ?
Modeste n'est qu'un pseudo ;o)))) vitesse et précipitation.... un asterisque "*" s'est subrepticement invité dans la formule que je répéte ici : =CHOISIR(EQUIV(F2;{0;1500;2500;5000;10000};1);0;CHOISIR(EQUIV(E2;{-1;0, 05;0,1};1);0;0,005;0,01);CHOISIR(EQUIV(E2;{-1;0,05;0,1};1);0;0,01;0,015); CHOISIR(EQUIV(E2;{-1;0,05;0,1};1);0;0,01;0,015);CHOISIR(EQUIV(E2;{-1;0,05 ;0,1};1);0;0,015;0,025))
le résultat est sous forme décimale, il convient d'utiliser le format : 0,0%
-- -- @+ ;o)))
SylVBA
re Bsr,
Bien sur en collant je n'y arrive pas (je ne suis m^me pas blonde !!)
La 3eme colonne (avec le #N/A en premier) est le résultat avec le collage de la formule
La dernière est le souhait de résultat, peut etre ma prose n'était pa s assez claire ? La première colonne c'est le % de progression, la deuxième colonne c'est le CA
Qu'en pensez vous cher Modeste , y avait t'il une validation matricielle que je n'ai pas fait ?
Je reste toute attentive à la suite
Bonne soirée, et d'avance merci
SylVBA
re Bsr,
Bien sur en collant je n'y arrive pas (je ne suis m^me pas blonde !!)
La 3eme colonne (avec le #N/A en premier) est le résultat avec le
collage de la formule
La dernière est le souhait de résultat, peut etre ma prose n'était pa s
assez claire ?
La première colonne c'est le % de progression, la deuxième colonne
c'est le CA
Qu'en pensez vous cher Modeste , y avait t'il une validation
matricielle que je n'ai pas fait ?
La 3eme colonne (avec le #N/A en premier) est le résultat avec le collage de la formule
La dernière est le souhait de résultat, peut etre ma prose n'était pa s assez claire ? La première colonne c'est le % de progression, la deuxième colonne c'est le CA
Qu'en pensez vous cher Modeste , y avait t'il une validation matricielle que je n'ai pas fait ?
Je reste toute attentive à la suite
Bonne soirée, et d'avance merci
SylVBA
SylVBA
Re Bsr Modeste
Bien sur c'était juste !!!!!!!!!!!!! si c'est pas la couleur de cheveux, c'est peut être l'age ????!!!!! Lol
Ce la fonctionne (j'étais en ligne 2 en collant une formule avec des E1 F1 alors forcément .......)
Par contre à partir des chiffres 9999 j'ai (avec la formule corrigée) la valeur Erreur #NOM? (sur les 4 dernières valeurs)
Le dernier cas 9999 Euros avec une progression de 5,21% devrait donner 1% car inférieur à 10 000 et progression comprise entre 5 et 9.99%
Merci Modeste, nous ne sommes pas loin ...
Pourquoi cette erreur ?
Bien cordialement et à nouveau merci pour ton aide
SylVBA
Re Bsr Modeste
Bien sur c'était juste !!!!!!!!!!!!! si c'est pas la couleur de
cheveux, c'est peut être l'age ????!!!!! Lol
Ce la fonctionne (j'étais en ligne 2 en collant une formule avec des
E1 F1 alors forcément .......)
Par contre à partir des chiffres 9999 j'ai (avec la formule corrigée)
la valeur Erreur #NOM? (sur les 4 dernières valeurs)
Le dernier cas 9999 Euros avec une progression de 5,21% devrait donner
1% car inférieur à 10 000 et progression comprise entre 5 et 9.99%
Merci Modeste, nous ne sommes pas loin ...
Pourquoi cette erreur ?
Bien cordialement et à nouveau merci pour ton aide
<<< Venant de Modeste, forcément cela doit etre juste
Madame demande une XXL !! (voir titre msg)
Bon, après cette parenthèse (c'est assez singulier, alors qu'elles vont par
paire), faites-vous donc l'accolade. -))
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille.
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
%23n5VS1PRJHA.4240@TK2MSFTNGP03.phx.gbl...
Bonsour® Modeste avec ferveur ;o))) vous nous disiez :
pfffff... simple non ???
attention aux virgules, points-virgules, parentheses et accolades
!!!!!!