Bonjour à tous je suis nouveau sur ce forum, j'ai de bonnes bases sur excel mais pas trop en VB et je cherche depuis pas mal de jours une formule qui pourrait me sauver la vie à mon boulot.
J'ai excel 2003
Pour abréger ma demande je vous explique mon problème:
J'ai besoin de découper une quantité en tranche de 100 et de multiplier chaque tranches par un un prix palier différent pour chaque tranche.
Expl :
- j'ai une quantité brut qui m'arrive, d'un reporting, de 900 pièces
- J'ai un prix différent pour chaque tranche de 100 :
A: 1 à 100 : tarif = 0.9
B: 101 à 200 : tarif = 0.85
C: 201 à 300 : tarif = 0,82
D: 301 à 400 : tarif = 0,78
E: 401 à 500 : Tarif = 0,76
F : 501 à 600 :Tarif = 0,74
...
Quelle formule me permettrait (en une seule formule et sans faire de tableau annexe) d'obtenir mon prix totalqté calculé en fonction de chaque tranche ?
J'ai fais de mon mieux pour l'explication mais n'hésitez pas à me poser plus de question si vous le souhaiter.
Les nombres en A2:A901 =SOMMEPROD((A2:A901<>"")*(A2:A901>={0.101.201.301.401.501})*(A2:A901<={100.200.300.400.500.600})*{0,9.0,85.0,82.0,78.0,76.0,74}) à compléter
Avec un tableau annexe en D1:I3 (tableau horizontal) =SOMMEPROD((A2:A901<>"")*(A2:A901>=D1:I1)*(A2:A901<=D2:I2)*D3:I3)
Salut petedesky et le forum
Pas assez précis pour définir la formule, donc, juste une idée :
Quelques remarques anodines :
- "A" va de 1 à 100, et pas de 0 à 100
- 100 appartient à "A" ou à "B" ?
B-A=0.05 / C-B=0.03 / D-C=0.04 / E-D=F-E=0.02 => pas de logique calculable et pas de base sûre pour G, H ou I => pas de formule sûre :
Une formule dans ce style avec les valeurs au lieu des lettres.
Faudrait tester sur 99, 100 et 101 et regarder si le résultat obtenu correspond (ou augmenter la valeur de A1 de 1 avant la division).
A+
Avec tableau des 12 taux (quand même) Ou tous les taux dans la formule Ou série de taux nommée "Taux", sans tableau dans la feuille (Insertion - Nom - Définir) Ou formule nommée, sans tableau dans la feuille (Insertion - Nom - Définir)
Avec tableau des 12 taux (quand même) Ou tous les taux dans la formule Ou série de taux nommée "Taux", sans tableau dans la feuille (Insertion - Nom - Définir) Ou formule nommée, sans tableau dans la feuille (Insertion - Nom - Définir)
Tu es un génie Monique ? Merci beaucoup pour cette solution plus que convaincante, je vais l'analyser. J'aimerai garder contact avec toi au cas ou j'ai besoin d'explication si ça ne te dérange pas.
Argl ! désolé, le palier7 est en fait : 600 001 à 700 000
- Alors: Pour mars je me suis planté désolé j'ai oublié de faire le cumul des qté des mois précédent. Mais voici le détail et le fichier modifié
Si tu fais le cumul des qtés de janvier et février tu trouve 54050 (ce qui situe cette somme dans le palier 1)
En mars tu dois ajouter 65874 à 54050 ce qui fait 119924 (ce qui situe cette somme dans le palier 2 car entre 100 000 et 200 000).
On a donc 2 paliers différents pour calculer le mois de mars.
tu auras ainsi :
Calcul CA/quantité dans le palier1
>100 000 - 54050 = 45950 restant pour terminer le palier 1, que tu multiplie par le prix du palier 1, soit : 45950*1.392= 63962,4
Calcul CA/quantité dans le palier2
>65874 - 45950 = 19924 commençant dans le palier2, que tu multipli par le prix du palier2: 19924*0,983=19585,292
Le total du mois de mars est donc l'addition de ces CA calculés avec palier différents. Soit : 19585,292 + 63962,4 = 83547,692
Pour le mois d'Avril c'est le même principe sauf que vu qu'il y a une Qté(Avril) qui fait qu'il y a, non pas 1 saut de palier mais plusieurs, il faut calculer le CA pour chaque Paliers. Tout en tenant compte des quantités cumulés précédement qui nous permettent de définir à quel palier on se trouve au début du calcul du mois d'avril)
J'espère avoir été clair... je dois filer mais je reviendrai plus tard. Merci pour tout.
Bonjour,
Si j'ai compris en février on doit prendre en compte le CA cumulé de l'année, soit Janvier + février.
Donc ton CA ne peut que croître, et donc du donc ton chiffre de mai doit être supérieur à celui d'avril.
Soit ton exemple est faux, soit je n'ai pas compris ce que tu veux, mais apparemment je ne suis pas le seul.
En revanche, tu peux t'inspirer, ou transpirer, de la macro ci-dessous pour un calcul par paliers, encore une fois si j'ai compris.
Code:
Sub Macro1()
' Macro1 Macro
' Macro enregistrée le 22/10/2010 par Gruick
nb = InputBox("entrez un nombre")
reste = IIf(nb < 1200000, nb Mod 100000, nb - 1200000)
For i = 0 To Int(nb / 100000)
Select Case i
Case 0: t = 1.392
Case 1: t = 0.983
Case 2: t = 0.9
Case 3: t = 0.851
Case 4: t = 0.808
Case 5: t = 0.78695
Case 6: t = 0.77683
Case 7: t = 0.76849
Case 8: t = 0.652
Case 9: t = 0.65
Case 10: t = 0.649
Case Is >= 11: t = 0.647
End Select
If nb < 100000 Then CA = nb * t: Exit For
If i < Int(nb / 100000) Then
CA = CA + (100000 * t)
Else
CA = CA + (reste * t)
End If
Next i
MsgBox CA
End Sub
Gruick
Edit :
Plus tu expliques, moins on comprend et ton calcul sur avril n'arrange rien.
(un million huit, pour trois cent quarante-cinq mille).
Mais pourquoi ai-je répondu ?
Edit2 :
Pour une fois que je suis plus rapide que le Vent, Salut Hoerwind