Bonjour,
Pour le 1er cas, tu peux faire comme ceci (suppose que le nombre entré est en A7) :
=SI(A7<=5;A7*1;5*1+(A7-5)*1,5)
Tu peux imbriquer plusieurs SI pour le 2ème cas.
On peux enfin généraliser si tu as des seuils variables. Dans ce cas, je propose une fonction en VBA qui fait référence à un petit tableau (appelé "Seuils" dans la feuille1) qui définit les seuils et les coefficients :
- colonne 1 de Seuil : seuil min
- colonne 2 de Seuil : seuil max (vide pour la dernière ligne)
- colonne 3 de seuil : coefficient multiplicateur
- 1ère ligne : des 0 (permet de simplifier le code)
1 2 3 4 5 6 7 8 9 10 11 12 13
| Function Mutliplication_conditionnelle(Valeur As Double) As Double
Dim Seuils As Range
Set Seuils = Worksheets(1).[Seuils]
li = 2
Mutliplication_conditionnelle = 0
Do While Seuils(li, 2) <> "" And Seuils(li, 2) < Valeur
Mutliplication_conditionnelle = Mutliplication_conditionnelle + (Seuils(li, 2) - Seuils(li - 1, 2)) * Seuils(li, 3)
li = li + 1
Loop
Mutliplication_conditionnelle = Mutliplication_conditionnelle + (Valeur - Seuils(li - 1, 2)) * Seuils(li, 3)
End Function |
Didier
Partager