Excel, conditions multiples
Bonjour à tous
Je suis tout à fait nouveau sur ce forum ET sur excel, et j'ai un petit problème pour traduire en VBA la formule suivante. J'ai cherché un peu partout, mais n'ai rien trouvé de probant. Merci d'avance pour votre précieuse aide!
Si B23 <5 alors la valeur est "0"; si B23 >5 et <11 alors la valeur est "250"; si B23 >11 et <16 alors la valeur est "500"; si B23 >16 et <21 alors la valeur est "750"; si B23 >21 et <26 alors la valeur est "1000"; si B23 >26 et <31 alors la valeur est "1250"
Je peux le faire sans problème pour une condition, mais je bugue sur les conditions multiples...
J'ai testé ça ainsi:
1) =SI(B23<5;"0";SI(B23>5 et <11;"250";SI(B23>11 et <16;"500";SI(B23>16 et <21;"750";SI(B23>21 et <26;"1000";SI(B23>26 et <31;"1250")))))
>>>> il marque "erreur"
2) =SI(B23<5;0);SI(B23<=11;250) et ainsi de suite)))))
>>>> il marque #VALEUR
et enfin 3) =Si(B23<5;"0"; si B23<11;"250"; si B23<16;"500" etc...
>>>> il marque "trop d'arguments"...
Merci merci merci!!!
bonjour
En attendant mieux
=INDEX({0;250;500;750;1000;1250};EQUIV(B23;{0;5;11;16;21;26;31};1))Bonjour,
Autre version avec des SI et des ET :
=SI(B23<5;0;SI(ET(B23>5;B23<11);250;SI(ET(B23>11;B23>16);500;SI(ET(B23>16;B23<21);750;SI(ET(B23>21;B23<26);1000;1250)))))
Slts
BJ
Banzai64 a écrit :bonjour
En attendant mieux
=INDEX({0;250;500;750;1000;1250};EQUIV(B23;{0;5;11;16;21;26;31};1))
Il n'y a pas mieux, c'est parfait, norme merci!!!!
-- 19 Jan 2011, 18:05 --
Euh, en fait c'est presque parfait, j'ai juste une toute chtite question en plus: je mets une case à cocher pour valider le champ, avec la formule suivante (j'ai légèrement retouché les champs Index et Equiv de la précédente version):
La box est affiliée à la cellule C28
=SI(C28;INDEX({0;1750;2000;2250;2500;2750;3000;3250};EQUIV(B23;{0;1;5;10;15;20;25;30;35;0})))
Donc, si on clique dans la box, la C28 est "vraie", ce qui valide la formule ci-dessus dans la cellule cible. Si je ne clique pas la boxe, il s'inscrit "faux" dans la cellule C28 ET dans la cellule cible (celle où est inscrite la formule) alors que j'aimerais avoir le "0" > astuce?
Merci pour tout, sans mentir, c'est la 1ère fois que je touche à des formules conditionnelles, d'habitude, je n'utilise que la fonction =somme (
-- 19 Jan 2011, 22:08 --
re bonjour?
Personne pour m'aider à changer ce "faux" en 0? Merci du fond du coeur pour votre aide!
-- 20 Jan 2011, 10:04 --
Voici la réponse de "Bap", en MP, énorme merci à lui:
"Bonjour,
Il te manque juste une petite condition dans ta formule SI.
Pour rappel un si se comose : SI( condition;valeur si vrai; valeur si faux).
Or dans ta formule, tu n'as pas la dernière condition, il prend donc "Faux" par défaut.
=SI(C28;INDEX({0;1750;2000;2250;2500;2750;3000;3250};EQUIV(B23;{0;1;5;10;15;20;25;30;35;0}));0).
Il te suffit juste de rajouter la dernière condition (en rouge).
Je te laisse tester.
Tiens moi au courant"