des Si (beaucoup trop) ou une autre méthode ? (formule XXL nécessaire)

Le
SylVBA
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 (– qq=
chose
% à +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, l=
a
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Modeste
Le #17824141
Bonsour® SylVBA avec ferveur ;o))) vous nous disiez :

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



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
Le #17824131
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
Modeste
Le #17824311
Bonsour® Modeste avec ferveur ;o))) vous nous disiez :

pfffff... simple non ???
attention aux virgules, points-virgules, parentheses et accolades
!!!!!!



=CHOISIR(EQUIV(F1;{0;1500;2500;5000;10000};1);0;CHOISIR(EQUIV(E1;{-1;0, 05;0,1};1);0;0,005;0,01);CHOISIR(EQUIV(E1;{-1;0,05;0,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,05 ;0,1};1);0;0,015;0,025))

--
--
@+
;o)))
Modeste
Le #17824291
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
Le #17824281
re Bsr,

Bien sur en collant je n'y arrive pas (je ne suis m^me pas blonde !!)

j'ai fait un petit tableau de test, voici:

% de progress. CA Calcul Bonus Résultat souhaité
10,00% 1499 #N/A 0
6,00% 2000 0,00% 0,50%
5,01% 3000 5,00% 1%
12,00% 10001 1,00% 2,50%
1,00% 9999 2,50% 0
-4,00% 9999 #NOM? 0
4,99% 9999 #NOM? 0
5,21% 9999 #NOM? 1%

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
Le #17824521
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
SylVBA
Le #17824501
Cher Modeste,

je crois que l'erreur vient du fait que les nombres entre 5000 et 9999
avec une progression inférieure à 5% donne comme résultat #NOM?

J'ai collé ta dernière version sans l'*

Vous disiez: Modeste n'est qu'un pseudo ;o))))

(Ndlr - C'est le dernier pseudo d'un ex pseudo de la région
lyonnaise ? non ? en 3 lettres ? = question perso, la
curieuse !!!!!!)

Je ne comprends pas pourquoi cette plage de nombres ne fonctionne pas
(encore !!)

merci de ta pédagogie et ton temps

Bien à toi,

Syl VBA
Jacquouille
Le #17824481
Allo Modeste?

Madame te trouve assez juste.

<<< 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" %
Bonsour® Modeste avec ferveur ;o))) vous nous disiez :

pfffff... simple non ???
attention aux virgules, points-virgules, parentheses et accolades
!!!!!!



=CHOISIR(EQUIV(F1;{0;1500;2500;5000;10000};1);0;CHOISIR(EQUIV(E1;{-1;0,05;0,1};1);0;0,005;0,01);CHOISIR(EQUIV(E1;{-1;0,05;0,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,05;0,1};1);0;0,015;0,025))

--
--
@+
;o)))
Modeste
Le #17824921
Bonsour® SylVBA avec ferveur ;o))) vous nous disiez :

Je ne comprends pas pourquoi cette plage de nombres ne fonctionne pas
(encore !!)



??????
http://cjoint.com/?lmvetTsMm4

(Ndlr - C'est le dernier pseudo d'un ex pseudo de la région
lyonnaise ? non ? en 3 lettres ? = question perso, la
curieuse !!!!!!)



Non il est irremplaçable...
simplement convalescent, nous espérons tous son retour





--
--
@+
;o)))
SylVBA
Le #17824881
Bsr Jacquouille, re Bsr Modeste,

La brune à trouvé toute seule !!!!! (une connerie si évidente !!)

un "-" s'est invité dans un Choisir (Choi-sir) alors
forcément ........

Hé Oui, ma première impression restera la bonne ! (<<< Venant de
Modeste, forcément cela doit etre juste )

Merci à nos contributeurs si généreux en temps et pédagogie,

A bientôt c'est sur, en ce moment je suis à fond dans les
tableaux .......................

Bonne soirée à vous tous,

SylVBA
Publicité
Poster une réponse
Anonyme