Cumul de fonctions dans numbers

jlvande

Membre actif
26 Juillet 2001
195
8
Lille
BONNE ET HEUREUSE ANNÉE 2011 !

Je ne connais pas du tout les fonctions avancés de Numbers. Je suis en train d'établir un tableau de calcul de prix.

Je cherche le moyen de cumuler plusieurs conditions dans une cellule (par rapport au montant d'une autre cellule) :
- SI montant > à 99€ alors la remise est de 5%
- SI montant > à 199€ alors la remise est de 10%
- SI montant > à 299€ alors la remise est de 15%

Autre souci. En dessous d'un sous-total, j'ai 2 cellules. J'aimerai avoir la possibilité de choisir le montant de l'une ou de l'autre mais aussi des deux, au sous-total, genre case à cocher car plusieurs choix possibles.

Et pour finir, en dessous d'une cellule totalisant le montant d'une commande, j'ai 3 cellules qui correspondent chacune à un montant différent. j'aimerai pouvoir ajouter au montant total, le montant de l'une des 3 cellules, genre bouton radio, car un seul montant possible.

C'est possible ?

Merci
 
Pour ta première question il te faudra utiliser la fonction "SI" imbriquée (idem que sur exel)
Va sur ce lien pour récupérer une aide sur les fonctions de "numbers"
http://support.apple.com/fr_FR/manuals/#macosandsoftware
(Tu trouveras cette aide dans la 7eme position)
Pour ta 2eme question...Je ne comprends pas ta phrase ?...Peut être que tu veux dire "ajouter" au lieu de "choisir" ?
Pour ta 3eme question il te suffit d'avoir une cellule (où tu veux) et d'y entrer au choix un nombre "1" "2" ou "3" (par exemple) puis ensuite, à l'aide d'une fonction "SI" imbriquée, de poser une formule qui intègre cette cellule et qui en fonction du nombre entré te donnera tel ou tel calcul. (ce choix de calcul sera bien sur spécifié dans cette fonction "SI")
Imaginons que la cellule où tu entreras ton choix soit la cellule"Z1" et que dans cette cellule tu puisses entrer ou 1 ou 2 ou 3.
Imaginons que ta cellule "total" soit en "G12" et tes 3 autres cellules à éventuellement y ajouter soient en "G13" - "G14" et "G15" puis imaginons que ton "total général" soit en "G16"
Dans ta fonction SI imbriquée tu devras entrer que SI "Z1" = "1" et bien G16 = G12+G13 puis SI "Z1" = "2" et bien G16 = G12+G14 et puis SI "Z1" = "3" et bien G16 = G12+G15.
A toi maintenant de bien entrer la formule en respectant la syntaxe que tu trouveras sur l'aide citée plus haut.
Bon courage.
 
Merci pour ta réponse pepeye66. Je vais tester ça.
Pour que tu comprennes mieux mon souci, je te mets une copie de mon formulaire à compléter.

http://moviclip.free.fr/moviclip_Bon-de-commande-2011.jpg

Imaginons que ta cellule "total commande" est la cellule "I32"
La formule dans la cellule du montant de la remise sera la suivante:
=SI(I32>99; I32*0,05; SI(I32>199; I32*0,9; SI(I32>299; I32*0,85; "0")))
Fais l'essai et dis moi si c'est OK
 
pour tes options à 5 et 8 euro
rajoute une case où tu mettra une coche

soit case à cocher de Pages (pour l'exemple appelons la H40)

dans I40
Bloc de code:
=SI(I40=VRAI();5;"") 
ou 
=SI(H40=VRAI();5;0)

la version avec ""(deux double guillemets) évite que la case contienne : 0€

soit une case dans laquelle tu met une croix(ou autre) si l'option est acheté

dans I40
Bloc de code:
=si(estvide(H40);"";5) 
ou 
=si(estvide(H40);0;5)
 
Imaginons que ta cellule "total commande" est la cellule "I32"
La formule dans la cellule du montant de la remise sera la suivante:
=SI(I32>99; I32*0,05; SI(I32>199; I32*0,9; SI(I32>299; I32*0,85; "0")))
Fais l'essai et dis moi si c'est OK

C'est presque bon. Je n'ai plus d'erreur de syntaxe mais seul la remise de 5% s'applique quelque soit le montant de "Total commande".

---------- Nouveau message ajouté à 08h32 ---------- Le message précédent a été envoyé à 08h23 ----------

pour tes options à 5 et 8 euro
rajoute une case où tu mettra une coche

soit case à cocher de Pages (pour l'exemple appelons la H40)

dans I40
Bloc de code:
=SI(I40=VRAI();5;"") 
ou 
=SI(H40=VRAI();5;0)

la version avec ""(deux double guillemets) évite que la case contienne : 0€

soit une case dans laquelle tu met une croix(ou autre) si l'option est acheté

dans I40
Bloc de code:
=si(estvide(H40);"";5) 
ou 
=si(estvide(H40);0;5)

Nickel !

Par contre, j'ai modifé la syntaxe ainsi "=SI(I33=FAUX();5;5)".
Ainsi, même si la case n'est pas cochée, l'on voit le montant de la prestation.
Le souci étant maintenant d'ajouter ce montant à "Total commande" si la case est cochée.
J'ai donc appliqué cette formule =I32+(SI(I33=VRAI();5;0)) dans la cellule Total commande et ça fonctionne.
Comment faire maintenant pour ajouter à Total commande également la formule (SI(I34=VRAI();8;0) ?
L'objectif étant de pouvoir d'additionner I33 avec I34 dans Total commande si les cases son cochées.
 
C'est presque bon. Je n'ai plus d'erreur de syntaxe mais seul la remise de 5% s'applique quelque soit le montant de "Total commande".

Pourtant cette formule fonctionne parfaitement...
J'ai fait des essais et la remise s'applique bien selon le montant.
Tu pourrais d'ailleurs introduire une nuance qui serait de considérer que la remise s'applique quand le montant est "supérieur ou égal" et non pas seulement supérieur:
Auquel cas il te faut utiliser ">=" au lieu de ">".
Autre remarque: Si (au cas où le montant est inférieur à 99€ tu ne veux pas indiquer "0" comme montant de remise tu termineras la formule par: .... ""))) Ce qui te donnera une case vide (bien plus commercial qu'un montant de remise = à "0")
 
Bonjour,
Essaie juste d'inverser les condition , en commençant par la plus élevée:

=SI(I32>299; I32*0,85; SI(I32>199; I32*0,9; SI(I32>99; I32*0,95; "0")))

Ceci devrait fonctionner !
A priori dés que la formule trouve une condition vrai, elle ne continue pas plus loin....
Bon courage
 
Pourtant cette formule fonctionne parfaitement...
J'ai fait des essais et la remise s'applique bien selon le montant.
Tu pourrais d'ailleurs introduire une nuance qui serait de considérer que la remise s'applique quand le montant est "supérieur ou égal" et non pas seulement supérieur:
Auquel cas il te faut utiliser ">=" au lieu de ">".
Autre remarque: Si (au cas où le montant est inférieur à 99€ tu ne veux pas indiquer "0" comme montant de remise tu termineras la formule par: .... ""))) Ce qui te donnera une case vide (bien plus commercial qu'un montant de remise = à "0")

Super ! ça fonctionne… J'ai inversé les conditions.

Merci bcp

---------- Nouveau message ajouté à 11h14 ---------- Le message précédent a été envoyé à 11h11 ----------

Bonjour,
Essaie juste d'inverser les condition , en commençant par la plus élevée:

=SI(I32>299; I32*0,85; SI(I32>199; I32*0,9; SI(I32>99; I32*0,95; "0")))

Ceci devrait fonctionner !
A priori dés que la formule trouve une condition vrai, elle ne continue pas plus loin....
Bon courage

Super ! ça fonctionne… J'ai inversé les conditions.

Merci bcp Zeltron54

Maintenant j'aimerai ajouter plusieurs montant dans Total commande, via des cases à cocher.
Voyez le formulaire ci-dessous.
http://moviclip.free.fr/Devis.pdf

Et ce sera ma dernière demande… enfin, je crois…
 
pour tes options à 5 et 8 euro
rajoute une case où tu mettra une coche

soit case à cocher de Pages (pour l'exemple appelons la H40)

dans I40
Bloc de code:
=SI(I40=VRAI();5;"") 
ou 
=SI(H40=VRAI();5;0)

la version avec ""(deux double guillemets) évite que la case contienne : 0€

soit une case dans laquelle tu met une croix(ou autre) si l'option est acheté

dans I40
Bloc de code:
=si(estvide(H40);"";5) 
ou 
=si(estvide(H40);0;5)

Effectivement et j'ai appliqué et ça marche. Le souci étant que je n'arrive pas à addtionner dans Total commande les autres cases à cocher. Je devrais mettre dans la cellulle Total commande un cumul de conditions du genre :
=I32+(SI(I33=VRAI();5;0)) + I32+(SI(I34=VRAI();8;0)).

http://moviclip.free.fr/cumulfonctionsnumbers.png
Tu vois ?
 
Perso, je n'aurais pas construit le tableau comme toi:
En effet, les cases à cocher seraient situées ailleurs au bas de ton tableau et les cellules en dessous de tes totaux n'en seraient que le résultat (lequel résultat utiliserait les formules indiquées par arbaot imbriquées avec autant de "OU" que de cases à cocher) mais avec une seule cellule de résultats par typologie de cases à cocher.
Le total général n'étant alors plus qu'une somme de cellules
 
(…)
Par contre, j'ai modifé la syntaxe ainsi "=SI(I33=FAUX();5;5)".
Ainsi, même si la case n'est pas cochée, l'on voit le montant de la prestation.
autant mettre 5 ou 8 directement dans la case
avec ta modif tu fait un test et quelque soit son résultat tu attribue la valeur 5 ou 8

Le souci étant maintenant d'ajouter ce montant à "Total commande" si la case est cochée.
J'ai donc appliqué cette formule =I32+(SI(I33=VRAI();5;0)) dans la cellule Total commande et ça fonctionne.
Comment faire maintenant pour ajouter à Total commande également la formule (SI(I34=VRAI();8;0) ?
L'objectif étant de pouvoir d'additionner I33 avec I34 dans Total commande si les cases son cochées.

=I32+SI(I33=VRAI();5;0)+SI(I34=VRAI();8;0) ;)
chaque test donne une valeur sur laquelle tu peut faire une opération


maintenant je sais pas si dans Pages une formule à un nombre limité de caractères
(vieux souvenir d'excel limité un temps à 250 caractères)


ensuite c'est pour moi une question d'approche
parfois il vaut mieux multiplier les cases de résultats intermédiaire
(avec des résultat en Blanc pour ne pas qu'il s'imprime)
comme ça le jour ou tu veux faire une modif dans tes formules c'est plus simple :zen:
 
Votre aide m'a très bien aidé et mon tableau de devis est opérationnel.
Un détail toutefois. Je dois calculer le besoin en nombre de dvd par tranche de 120 mn.
J'utilise donc la formule =(E9/120). Quand la totalité de la durée est inférieur à 120 mn, la cellule indique 0, mais c'est faux puisque même pour une durée d'1 mn sur un DVD il faut au moins 1 dvd.
Ma question : comment faire pour indiquer que dans tout les cas le résultat est égale à au moins 1 ?

http://moviclip.free.fr/0=1.png
 
Votre aide m'a très bien aidé et mon tableau de devis est opérationnel.
Un détail toutefois. Je dois calculer le besoin en nombre de dvd par tranche de 120 mn.
J'utilise donc la formule =(E9/120). Quand la totalité de la durée est inférieur à 120 mn, la cellule indique 0, mais c'est faux puisque même pour une durée d'1 mn sur un DVD il faut au moins 1 dvd.
Ma question : comment faire pour indiquer que dans tout les cas le résultat est égale à au moins 1 ?

http://moviclip.free.fr/0=1.png

Peut être en écrivant ta formule ainsi:
(1+(E9/120)) sans décimale et en arrondissant au supérieur
 
Peut être en écrivant ta formule ainsi:
(1+(E9/120)) sans décimale et en arrondissant au supérieur

non, ça ne fonctionne pas
http://moviclip.free.fr/0=1_2.png

ça fausse les autres calcules liés au nombre de dvd.

Je cherche comme un cinglé comment écrire la formule :
Si le résultat est entre 1 et 120 : afficher est 1
entre 121 et 240 : afficher 2
entre 241 et 360 : afficher 3
ect… + 1 par tranche de 120
 
La solution t'as été donnée:

=ARRONDI.SUP(E9/120;0)

allez bon courage !