Excel 07 calcul prix
Résolu/Fermé
A voir également:
- Excel 07 calcul prix
- Liste déroulante excel - Guide
- Calcul moyenne excel - Guide
- Formule excel - Guide
- Gta 6 prix - Guide
- Si et excel - Guide
4 réponses
thev
Messages postés
1852
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
23 avril 2024
681
27 mars 2009 à 11:15
27 mars 2009 à 11:15
ci-joint une solution
http://www.cijoint.fr/cjlink.php?file=cj200903/cij3p4vK3N.xls
http://www.cijoint.fr/cjlink.php?file=cj200903/cij3p4vK3N.xls
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
27 mars 2009 à 10:43
27 mars 2009 à 10:43
bonjour,
les prix indiqués colonne D sont ils des prix unitaires ou totaux?
les prix indiqués colonne D sont ils des prix unitaires ou totaux?
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
130
27 mars 2009 à 10:48
27 mars 2009 à 10:48
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.
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.
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
130
>
Julie
27 mars 2009 à 13:32
27 mars 2009 à 13:32
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é.
=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é.
Julie
>
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
27 mars 2009 à 13:44
27 mars 2009 à 13:44
Bonjour, leplot
Ce qui m'intrigue c'est "DROITE(C2;1)"
Amicalement ;-)
Ce qui m'intrigue c'est "DROITE(C2;1)"
Amicalement ;-)
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
130
>
Julie
27 mars 2009 à 13:54
27 mars 2009 à 13:54
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.
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.
Julie
>
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
27 mars 2009 à 14:04
27 mars 2009 à 14:04
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)
Au revoir et merci de tout cœur. ;o)
Mike-31
Messages postés
18313
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
5 073
27 mars 2009 à 11:11
27 mars 2009 à 11:11
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+
Une autre approche avec les formules simple a condition d'avoir pour chaque volume la même unité
https://www.cjoint.com/?dDmklIgvqJ
A+
27 mars 2009 à 11:35
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