Excel 07 calcul prix

Résolu
Julie -  
 Julie -
Bonjour,
Je voudrai calculer des prix dans ma feuille excel, les colonnes prix se créer en fonction de la colonne C .
je ne sais pas si il faut une formule ou une macro pour que les colonnes E,F,G se remplissent ou pas.
Mais je ne sais pas comment le faire?
http://www.cijoint.fr/cjlink.php?file=cj200903/cij44klwkr.xls
Merci.
A voir également:

4 réponses

thev Messages postés 1986 Date d'inscription   Statut Membre Dernière intervention   713
 
ci-joint une solution

http://www.cijoint.fr/cjlink.php?file=cj200903/cij3p4vK3N.xls
1
Julie
 
Bonjour, à tous.
C'est incroyable, vous m'avez proposé tous une solution et du coup, je sais pas laquelle prendre qui conviendrai le mieux!!!
En tout cas, ça me fait plaisir. Merci
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour,
les prix indiqués colonne D sont ils des prix unitaires ou totaux?
0
Julie
 
Bonjour, Michel_m
En colonne D , ce sont les produits totaux.
Merci
0
leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131
 
Bonjour

voici le fichier avec des formules incluant des SI imbriqués.
http://www.cijoint.fr/cjlink.php?file=cj200903/cijxm3gkGN.xls

Attention, il faut adapter en fonction des unités utilisées.
0
Julie
 
Bonjour, leplot
Pouvez-vous m'expliquer ces formules ?

=SI(DROITE(C2;1)="g";SI(C2="kg";1;SI(C2="g";1000;""))*D2/B2;"")

=SI(DROITE(C2;1)="l";SI(C2="l";1;SI(C2="dl";10;SI(C2="cl";100;SI(C2="ml";1000;""))))*D2/B2;"")

=SI(C2="u";D2/A2;"")

Merci.
0
leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131 > Julie
 
Re,

=SI(DROITE(C2;1)="g";SI(C2="kg";1;SI(C2="g";1000;""))*D2/B2;"")
je teste si la dernière lettre est un g donc un poids
puis je teste si la cellule =kg donc 1, g donc 1000 (1000g dans un kg).
Ce chiffre (1 ou 1000) * le prix divisé par la qté.

=SI(DROITE(C2;1)="l";SI(C2="l";1;SI(C2="dl";10;SI(C2="cl";100;SI(C2="ml";1000;""))))*D2/B2;"")
je teste si la dernière lettre est un l donc un volume
puis je teste si la cellule =l donc 1, dl donc 10 (10dl dans 1l) etc.
Ce chiffre (1,10,100 ou 1000) * le prix divisé par la qté.

=SI(C2="u";D2/A2;"")
si c'est une unité c'est le prix divisé par la qté.
0
Julie > leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, leplot
Ce qui m'intrigue c'est "DROITE(C2;1)"
Amicalement ;-)
0
leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131 > Julie
 
re,

Droite (cellule, nb caractères) prend les n caractères d'un texte en partant de la droite.
droite("dl";1) ==> "l"
droite("l") ==> "l"
droite("g")==>"g"

je teste si c2 finit par "l" ce qui permet d'exclure directement ce qui n'est pas en .l

La formule pourrait également être
si(c2="l";1;si(c2="dl";10;si(c2="cl";100....);"")*d2/a2 mais dans ce cas si ce n'est pas un volume,le retour est "" * d2/a2 donc le calcul plante.
je me débarrasse des "non-volumes" en début de formule pour retourner "" sinon c'est {1;10;100...} * d2/a2 et dans ce cas le calcul passe (sauf si tu mets une unité non répertoriée xl).

La solution passant par un recherchev est plus facile à gérer car tu peux ajouter les unités que tu veux mais elle implique un tableau de correspondance.
0
Julie > leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention  
 
Joli ce petit cours, je n'ai plus de questions; j'en ai bel et bien fini. Post Résolu.
Au revoir et merci de tout cœur. ;o)
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Une autre approche avec les formules simple a condition d'avoir pour chaque volume la même unité

https://www.cjoint.com/?dDmklIgvqJ

A+
0