Fonction si

Bonjour à tous,

Je souhaite mettre les formules ci-dessous dans une seule cellule en rajoutant une fonction selon laquelle le résultat de chaque tranche sera multiplier par 0.5% ; 3% ; 5%; 7% et 9%.

B1= 859

Tranche 1 =SI(B1<=0;"",si(B1>=150;150-0;B1-0)) = 150

Tranche 2 =SI(B1<=150;"";SI(B1>250;250-150;B1-150)) = 100

Tranche 3 =SI(B1<=250;"";SI(B1>400;400-250;B1-250)) = 150

Tranche 4 = SI(B1<=400;"";SI(B1>700;700-400;B1-400)) = 300

Tranche 5 = SI(B1<=700;"";SI(B1>1000;1000-700;B1-700)) = 59

Bonjour heikura,

Si je comprends bien votre énoncé, le calcul ressemble à un barême dégressif. Vous voulez le résultat final en une cellule.

Je pense que pour ce faire, il faut imbriquer bêtement plein de formule si. Voici ma proposition.

=SI(B1>1000;300*0,09+300*0,07+150*0,05+100*0,03+150*0,005;SI(B1>700;(B1-700)*0,09+300*0,07+150*0,05+100*0,03+150*0,005;SI(B1>400;(B1-400)*0,07+150*0,05+100*0,03+150*0,005;SI(B1>250;(B1-250)*0,05+100*0,03+150*0,005;SI(B1>150;(B1-150)*0,03+150*0,005;B1*0,005)))))

Bonjour,

En fait B1 est variable et se se repartie en 5 tranches différentes comme suit :

T1 : <=150

T2 : entre 151 et 250

T3 : entre 251 et 400

T4 : entre 401 et 700

T 5 :entre 701 et 1 000

par exemple pour 859,

T1 = 150 x 0.3% =0.45

T2 = 100 x 3% =3

T3 = 150 x 5% =7.5

T4 = 300 x 7% =21

T5 = 159 x 9% =14.3

Total général = 46.25

Je proposerai volontiers une fonction personnalisée qui pourra s'utiliser plus facilement...

Function HEIKURA(v)
    Dim Niv, Tx, Mt, i%, n%
    Application.Volatile
    Niv = Array(0, 150, 250, 400, 700, 1000)
    Tx = Array(0, 0.003, 0.03, 0.05, 0.07, 0.09)
    Mt = Array(0, 150, 100, 150, 300, 300)
    If Not IsNumeric(v) Then
        HEIKURA = CVErr(xlErrValue): Exit Function
    ElseIf v < 0 Or v > 1000 Then
        HEIKURA = CVErr(xlErrNA): Exit Function
    End If
    n = WorksheetFunction.Match(v, Niv, 1) - 1
    If n < 5 Then Mt(n + 1) = v - Niv(n)
    If n + 1 < 5 Then
        For i = n + 2 To 5
            Mt(i) = 0
        Next i
    End If
    HEIKURA = WorksheetFunction.SumProduct(Mt, Tx)
End Function

Le code est dans le Module1 du fichier joint.

Elle s'utilise comme les fonctions natives d'Excel. Tu peux poursuivre les tests que j'ai commencé.

La fonction renverra #VALEUR si on ne lui passe pas un nombre, et elle renverra #N/A si le nombre est négatif ou supérieur à 1000.

Cordialement.

Bonjour,

En fait B1 est variable et se se repartie en 5 tranches différentes comme suit :

T1 : <=150

T2 : entre 151 et 250

T3 : entre 251 et 400

T4 : entre 401 et 700

T 5 :entre 701 et 1 000

par exemple pour 859,

T1 = 150 x 0.3% =0.45

T2 = 100 x 3% =3

T3 = 150 x 5% =7.5

T4 = 300 x 7% =21

T5 = 159 x 9% =14.3

Total général = 46.25

C'est ce que j'avais compris. Avez vous essayer ma formule ?

Bonjour le forum,

hekipxump5n noms

=SOMMEPROD((TAUX1-TAUX2)*(D3-Base>0)*(D3-Base))

hekio0qxu5n bareme par tranches

Bonjour heikura,

Si je comprends bien votre énoncé, le calcul ressemble à un barême dégressif. Vous voulez le résultat final en une cellule.

Je pense que pour ce faire, il faut imbriquer bêtement plein de formule si. Voici ma proposition.

=SI(B1>1000;300*0,09+300*0,07+150*0,05+100*0,03+150*0,005;SI(B1>700;(B1-700)*0,09+300*0,07+150*0,05+100*0,03+150*0,005;SI(B1>400;(B1-400)*0,07+150*0,05+100*0,03+150*0,005;SI(B1>250;(B1-250)*0,05+100*0,03+150*0,005;SI(B1>150;(B1-150)*0,03+150*0,005;B1*0,005)))))

Bonjour,

J'ai essayé et sa fonctionne.

Re,

Je te conseille cette lecture :

[A LIRE AVANT DE POSTER] Charte du forum et informations utiles :

https://forum.excel-pratique.com/viewtopic.php?f=2&t=13

J'ai essayé mais je ne trouve pas 46.25 je trouve 46.56

Un petit effort !

Cette formule (qui contient 260 caractères) utilise un taux de 0,50% pour la première tranche (au lieu de 0,30%).

Rechercher des sujets similaires à "fonction"