Bonjour.
D'abord supprimer les guillemets ; ensuite remplacer les points par des virgules, car dans les deux cas tu affiches des textes et pas des nombres ...
Enfin, ne pas inventer des syntaxes qui n'existent pas :
Ce n'est pas
SI(250>A<500 ...
mais juste
SI(A<500 ...
puisqu'on a déjà examiné le cas où
A<250
.
Ta formule
=SI(A<250;"3.15";SI(250>A<500;"4.3");SI(500>A<1000;"5.45"), etc.
devient donc =SI(A<250;3,15;SI(A<500;4,3);SI(A<1000;5,45), etc.
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
Il ne manque pas des parenthèses ? Tu dois pas ouvrir des parenthèses a chaque nouvelle condition ?
Exemple:
=SI(A<250;3,15;(SI(A<500;4,3;(SI(A<1000;5,45;//Insere la suite//)))))
Voila comment je le comprend et l'écrirais:
=SI(E<3 ;Si(P<250;A="3.15€";Si(P<500;A=(Prix pour E<3cm et 250<P<500));SI(P<1000;A="(Prix pour E<3CM et 500<P<1000)"; Si(Continuer jusqu'au 3 Kg)))) ; Si(P<250; A="5.50€";Si(P<500;A=(Prix pour E>3cm et 250<P<500) ; Si(P<1000;A=("Prix pour E>3CM et 500<P<1000"; Si (Continuer jusqu'au 3KG)))))
En version plus ... claire ca donnerais ca
Si E<3 //On est dans le format lettre Suivi Si P<250 A=3.15 Sinon Si P<500 A="Prix pour E<3cm et 250<P<500 Sinon Si P<1000 A="Prix pour E<3cm et 500<P<1000 Sinon Etc Fin Si Fin Si Fin Si Sinon // On entre au format Colissimo Si P<250 A=550 Sinon Si P<500 A="Prix pour E<3cm et 250<P<500 Sinon Si P<1000 A="Prix pour E<3cm et 500<P<1000 Sinon Etc Fin Si Fin Si Fin Si Fin Si
Tout à fait ! J'ai développé ta formule et je l'ai testée, avec les valeurs réelles de La Poste à ce jour (on ne sait jamais, tu peux en avoir besoin) : elle fonctionne parfaitement. La voici (je n'ai pas mis les valeurs de "A" entre parenthèses -ce qui renverrait un "Texte"-, car je n'ai pas besoin de faire figurer la monnaie, le nombre suffit) :
Un grand merci pour ton aide. Du coup, je me suis plongé dans les tutoriels de tableurs qu'on peut trouver sur le net : c'est mieux qu'un Sudoku !
J'indique "Résolu" à la question.
Bonjour Raymond,
Merci pour ta réponse rapide (décalage horaire avec les Antilles ?).
Bon, je ne comprends pas : j'ai essayé 5 fois ta formule, en suivant tes conseils pour les guillemets et les virgules, ça ne marche pas, j'obtiens : erreur 504. Si elle marche chez toi, telle quelle, je ne sais pas ce qui peut se passer chez moi.
Je ne peux pas t'aider davantage :
- tu n'as pas joint ton fichier ;
- tu n'as pas donné la formule exacte que tu as saisie ;
- tu n'as même pas précisé quelle cellule contient la valeur A, ou si A est le nom de la cellule contenant la donnée ...
1) Tu vas dans https://www.cjoint.com/ 2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (8192 Ko maxi) 3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint] 4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu le sélectionnes et tu fais "Copier" 5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller". =>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
En fait, je voudrais calculer automatiquement l'affranchissement d'un envoi postal : il est fonction :
1) du poids (A)
2) de l'épaisseur (B) : Si B<3 cm : Lettre suivie.
Si B>3cm : Colissimo.
A terme, la formule complète que je recherche, en C (Lettre suivie) et D (Colissimo) devrait donc commencer par :
- en C : "SI(B<3;" et se poursuivre par "=SI(A<250;"3.15";SI(250>A<500;"4.3");SI(500>A<1000;"5.45"), etc.... "
- en D : "Si(B>3;" et se poursuivre par d'autres valeurs (que je pourrai modifier, une fois la formule trouvée en C.
Ce n'est pas clair du tout, dans la mesure où tes explications ne correspondent pas à ton fichier ...
En C il n'y a pas de formule, mais la saisie du poids, qui n'est pas en A !
L'épaisseur, on doit supposer que ce n'est pas en B, mais en D ?
" ...SI(500>A<1000;"5.45"), etc.... " mais c'est quoi, le etc ?
Bon, le plus simple c'est de te dire ce que je cherche à faire, au final, en employant les vrais termes plutôt que les références au classeur (c'est vrai que j'ai introduit un paramètre supplémentaire : l'épaisseur du pli).
Voilà : je voudrais calculer le prix de l'affranchissement d'un envoi postal. Il dépend du poids, bien sûr, mais AUSSI de son épaisseur. C'est ainsi qu'un envoi de moins de 250 g sera affranchi à 3.15€ s'il fait moins de 3 cm d'épaisseur, mais il devra l'être à 5.50€ s'il les dépasse. Et ainsi de suite, par tranches, jusqu'à 3 kgs. Quelque soit le poids, moins de 3 cm, c'est le tarif "Lettre suivie", plus de 3 cm, c'est le tarif "Colissimo" qui s'appliquent.
J'ai donc essayé de rédiger une formule combinée "SI ET", mais je n'ai pas trouvé la bonne syntaxe : je me suis embrouillé dans les parenthèses, et les "alors" "sinon".
J'espère que c'est plus clair pour toi : comment écrirais-tu cette formule ? (appelons P le poids, E l'épaisseur et A l'affranchissement, si tu veux bien).
Désolé, je n'ai pas compris ta formule, qui prend comme "test logique" le poids : je ne vois pas comment l'étendre aux tranches suivantes. C'est sûrement possible, mais la solution de diablo13800 m'a semblée plus simple : elle prend comme "test logique" l'épaisseur, et elle fonctionne parfaitement. Développée, avec les valeurs réelles de La Poste à ce jour, cela donne :
Voilà, si tu veux calculer le poids d'un colis, ça marche : on ne sait jamais, depuis les Antilles, tu peux avoir envie d'expédier de quoi faire un ti'punch ! :-)
Merci pour ton aide.
Il ne manque pas des parenthèses ? Tu dois pas ouvrir des parenthèses a chaque nouvelle condition ?
Exemple:
=SI(A<250;3,15;(SI(A<500;4,3;(SI(A<1000;5,45;//Insere la suite//)))))
Je me trompe peut être hein :p