Plusieurs règles et menu déorulant

djooouuu -  
 djooouuu -
Bonjour,

Je suis novice sur excel, je ne sais pas si ma demande est réalisable mais la voici :

je souhaiterais appliquer un tarif dégressif aux photocopies. Par exemple, quand je cliquerais sur la cellule 'Copies noir et blanc', un menu déroulant d'une cellule me permettrait d'entrer ma quantité afin d'en connaitre le tarif.

Le problème, c'est que c'est dégressif : par exemple si j'entre une valeur de 1 à 50, je voudrais qu'elle soit multipliée par 0,1 €, si c'est supérieur à 50, multipliée par 0,08€, si c'est supérieur à 100, multipliée par 0,07€ etc..

Merci beaucoup !!
A voir également:

6 réponses

djooouuu
 
Merci beaucoup, dans l'idéal tu me facilites la tache mais c'est pas si simple que ça parce qu'après c'est plus dégressif en centaines, c'est de 100 à 500, de 500 à 1000, 1000 à 3000, etc .. elle serait trop compliquée pour moi la formule?
0
djooouuu
 
J'ai rien dis, j'avais mal lu les détails de ta réponse, ça me semble parfait je vais essayer ! :)
0
G_33
 
ok
Je te suis si besoin
0
G_33
 
Tu as quelle version de Windows ?
0
djooouuu
 
XP, j'ai téléchargé visual basic mais j'ai besoin d'un peu plus de précisions sur le fonctionnement du logiciel :s
0
Le Pingou Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour,
Au passage inutile de télécharger Visual Basic car il est intégré à MS Office.
La solution de ccm81 (salutations) sera plus efficace et aussi plus simple pour vous.
Salutations.
Le Pingou
0
ccm81 Messages postés 11033 Statut Membre 2 434
 
bonjour

je ne sais pas si j'ai bien compris mais en principe pour un tarif dégressif le prix de chaque objet dépend de son rang
dans l'exemple de djooouuu pour 55 copies, ça devrait donner
prix = 50*0.1+5*0.08
de plus vba ne me semble pas indispensable
ex. si le nombre de copies est en A4 et le prix en B4

B4=SI(NB(A4);SI(A4<=50;A4*0,1;SI(A4<=100;5+(A4-50)*0,08;SI(A4<=500;9+(A4-100)*0,07;37+(A4-500)*0,06)));"")

RQ. j'ai supposé
1 à 50 > 0.1€
51 à 100 > 0.08€
101 à 500 > 0.07€
501 à ... 0.06€

bonne suite
0
ccm81 Messages postés 11033 Statut Membre 2 434
 
attention la formule a été modifiée
0
djooouuu
 
Bonjour, merci beaucoup pour ta réponse, j'aimerais juste savoir comment tu as obtenu ces calculs (additionner 5, 9, ou 37) car j'en ai d'autres comme ça :)

De plus, comment je pourrais créer le menu déroulant ? je m'explique :

par exemple en A3 j'ai mon titre, je clique dessus et mes cases A4 et B4 apparaissent.. possible?
0
djooouuu
 
je crois qu'il y a un problème dans la formule, les calculs ne sont pas vraiment bons.

Par exemple 60 x 0.08 = 4.8€ et non pas 5,8€
ou 300 x 0,07 = 21 € et non pas 23 €
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 11033 Statut Membre 2 434
 
bonjour

1.
tu n'as pas bien lu la partie de mon post #7 au sujet des tarifs dégressifs
en principe pour un tarif dégressif le prix de chaque objet dépend de son rang, dans l'exemple de djooouuu pour 55 copies, ça devrait donner
prix = 50*0.1+5*0.08

soit les 50 premières copies à 0.1 euros et les 5 suivantes à 0.08 euros
et le 5 vient de là
- pour le 9€.dans le cas de 100 à 500 copies
les 50 premières à 0.1 €
les 50 suivantes à 0.08 €
soit un sous total de 9€
et les suivantes, soit x-100 copies à 0.07 €

si tu ne fonctionnes pas comme ça,
par exemple pour 60 copies, le client paiera moins que pour 50 copies !!!

2. De plus, comment je pourrais créer le menu déroulant ? je m'explique :
par exemple en A3 j'ai mon titre, je clique dessus et mes cases A4 et B4 apparaissent.. possible?

je ne comprends pas bien ton problème
qu'y a t'il comme "titre" en A3?
que veux tu en A4 et en B4

bonne suite
0
G_33
 
bonjour
tu vas dans visualBasic tu doubles clique sur la feuille qui est concernée tu recopies ce code^

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ThisWorkbook.Worksheets("Feuil1").Range("a2").Value < 50 Then
ThisWorkbook.Worksheets("Feuil1").Range("b2").Value = ThisWorkbook.Worksheets("Feuil1").Range("a2").Value * 0.1
End If
If ThisWorkbook.Worksheets("Feuil1").Range("a2").Value >= 50 And ThisWorkbook.Worksheets("Feuil1").Range("a2").Value < 100 Then
ThisWorkbook.Worksheets("Feuil1").Range("b2").Value = ThisWorkbook.Worksheets("Feuil1").Range("a2").Value * 0.08
End If
If ThisWorkbook.Worksheets("Feuil1").Range("a2").Value >= 100 Then
ThisWorkbook.Worksheets("Feuil1").Range("b2").Value = ThisWorkbook.Worksheets("Feuil1").Range("a2").Value * 0.07
End If
End Sub

tu reviens dans excel et dans la cellule A2 tu rentre la quantité et en B2 le montant sera calculé automatiquement
.
-2
djooouuu
 
Par contre visual basic, je le télécharge ou je peux coller cette formule dans 'executer'?
0
djooouuu
 
j'ai téléchargé visual basic, je ne sais juste pas où rentrer le code..
j'ouvre mon fichier, je double clique sur ma feuille, en gros à part la renommer, je ne sais pas où rentrer le code..
0