Formule Impot sur le revenu

3


Impôt sur le revenu : barème 2018

Fraction du revenu imposable*Taux d'imposition
n'excédant pas 9 807 €0 %
entre 9 808 € et 27 086 €14 % // 2.419 euros si tranche pleine
entre 27 087 € et 72 617 €30 % // 13.659 euros si tranche pleine
entre 72 618 € et 153 783 €41 % // 33.278 euros si tranche pleine
supérieure à 153 783 €45 %

Revenu imposable
Tranches bareme 2017

 Taux d'imposition

Jusqu'à 9 710 €
entre 9 711  et 26 818 €14 % // 2.395 euros si tranche pleine
entre 26 818 et 71 898 €30 % // 13.524 euros si tranche pleine
entre 71 898 et 152 260 €41 % // 32.948 euros si tranche pleine
à partir de 152 261 €45 %

Bonjour à tous. J'essaye de trouver deux formules pour calculer l'impôt sur le revenu (bareme 2017 et bareme 2018) en fonction d'un bénéfice non commercial (ou de tout autre revenu). 

Le BNC en question se situe sur un autre feuillet

‘COTISATIONS SOCIALES’!B3

Est il possible tout d'abord, de faire le calcul avec le renvoi à une case d'un autre feuillet (‘COTISATIONS SOCIALES’!B3) en l'espèce ?

Par exemple pour un montant en ‘COTISATIONS SOCIALES’!B3 de 400.914 euros, je dois trouver une imposition de 141.112 euros.

En effet, dans le cadre d'un couple marié, le calcul est le suivant selon le barême 2017 :

On a 400.914 euros de BNC. Un couple équivaut à 2 parts. On divise alors le revenu par 2, on calcul l'impôt puis on multiplie l'impôt obtenu par 2. Le calcul est donc le suivant :

400.914 / 2 = 200.457. Première tranche = 26.818-9.711 * 14 % soit 2.395 euros. 2nd tranche = 71898 - 26819 * 30 % soit 13.524 euros. 3eme tranche = 152.260 - 71.899 * 41 % = 32.948 euros. Dernière tranche = 200.457 - 152.260 * 45 % soit 21.689 euros.

L'impot est égal à 2.395 + 13.524 + 32.948 + 21.686 soit 70.556 * 2 = 141.112

Je voudrais également incorporer un autre élément. Le mécanisme du quotient familial. Mais cela me semble trop compliqué à formuler.

Grosso modo, en fonction de la situation familiale du contribuable (marié, avec enfant ou autre), l'impot sur le revenu est réduit de 1.512 euros par demi part supplémentaire.

Dans le cadre d'un couple marié avec 2 enfants (3 parts au total, 2 pour les mariés et ,5 par enfant), on calcule d'abord l'imposition avec 2 parts puis on calcule avec 3 parts et enfin, la différence est plafonnée de 1.512 euros par demi part. Avec 2 enfants, et afin de ne pas trop se compliquer la tache, il convient de finir la formule par -3.024.


Dans mon exemple du BNC de 400.914, le couple a deux enfants, l'impôt total dû est donc de 141.112 - (2*1512) soit 138.088 euros.

Merci pour votre aide !

Posté le 14 décembre 2017, 11:22
par Paul
Répondre
0

Excusez moi je n'ai pas été très clair.

Les deux tableaux représentent les barèmes IR 2017 et 2018.

J'essaye de trouver la formule adéquate excel pour calculer l'IR, et sur la base du bareme 2017, et su la base du bareme 2018 pour comparer, soit deux formules distinctes mais qui se ressembleront (seuls les seuils seront différents).

Merci pour votre aide


Posté le 14 décembre 2017, 15:41
par Paul
0

J'avais la formule suivante

=ARRONDI(CHOISIR(EQUIV(H22;{0;9807;27086;72617;153783};1);0;(H22-9807)*0,14;2419,06+(H22-27086)*0,3;16078,06+(H22-72617)*0,41;49355,71+(H22-153783)*0,45)-6048-3024;0)


Cependant, elle est fausse dans la mesure ou, dans le cas d'un couple marié, il faudrait diviser le revenu par 2 puis le soumettre au barème progressif puis multiplier par 2 le résultat obtenu et soustraire 3.024 euros pour les enfants (0,5 part * 2).

De plus, je préfèrerai une formule en SI

Posté le 14 décembre 2017, 15:47
par Paul
0

Bonjour Paul,

peux tu envoyer un exemple Excel, c'est plus simple à comprendre et à positionner les formules.

N'hésite pas à écrire les calculs que tu pourrais faire "à la main" avec résultat.

Cordialement,

Tom

Tom Posté le 14 décembre 2017, 17:23
par Tom
  • Salut Tom. Ma formule tombe juste avec Equiv, mais je préfèrerai une formule avec des SI. Je t'envoie ça lundi, je dois m'absenter pendant 2 jours. Merci pour ton aide. – Paul 14 décembre 2017, 17:29
  • ça tombe bien, je n'étais pas trop disponible pour regarder cela :). – Tom 15 décembre 2017, 13:01
0

Bonjour à tous,

J'ai cherché sur la toile un code pour calculer les impôts en fonction du revenu, nombre de parts et nombre d'adultes mais ne le trouvant pas voici le mien.

Il prend en compte la décote et le plafonnement de la réduction lié au quotient familial par année.

'Pour créer ces fonctions, vous devez faire
'Appuyez sur Alt+F11 pour ouvrir Visual Basic Editor (sur le Mac, appuyez sur FN+ALT+F11),
'puis cliquez sur Insérer > Module.
'Une nouvelle fenêtre de module s’affiche sur le côté droit de Visual Basic Editor.
'Puis coller ces fonctions
'https://support.microsoft.com/fr-fr/office/cr%C3%A9er-des-fonctions-personnalis%C3%A9es-dans-excel-2f06c10b-3622-40d6-a1b2-b6748ae8231f

Option Explicit

Function CalculImpotSansQuotient(revenu As Double, Optional annee As Integer = 2024) As Double
    'https://www.developpez.net/forums/d509486/logiciels/microsoft-office/general-vba/contribuez/calcul-impot-revenu/
    Dim i As Integer
    Dim calculImpotParAnnee As Double
    Dim Tbl As Variant, Taux As Variant
    '2023 par defaut
    Tbl = Array(0, 11294, 28797, 82341, 177106)
    Taux = Array(0, 0.11, 0.3, 0.41, 0.45)
    
    Select Case annee
		'https://fr.wikipedia.org/wiki/Bar%C3%A8mes_de_l%27imp%C3%B4t_sur_le_revenu_en_France
        Case 2022
            Tbl = Array(0, 10777, 27478, 78570, 168994)
            Taux = Array(0, 0.11, 0.3, 0.41, 0.45)
        Case 2021
            Tbl = Array(0, 10225, 26070, 74545, 160336)
            Taux = Array(0, 0.11, 0.3, 0.41, 0.45)
        Case 2020
            Tbl = Array(0, 10084, 25710, 73516, 158122)
            Taux = Array(0, 0.11, 0.3, 0.41, 0.45)
        Case 2019
            Tbl = Array(0, 10064, 27794, 74517, 157806)
            Taux = Array(0, 0.14, 0.3, 0.41, 0.45)
        Case 2018
            Tbl = Array(0, 9964, 27519, 73779, 156244)
            Taux = Array(0, 0.14, 0.3, 0.41, 0.45)
        Case 2007
            Tbl = Array(0, 5687, 11344, 25195, 67546)
            Taux = Array(0, 0.055, 0.14, 0.3, 0.4)
        Case 2006
            Tbl = Array(0, 5614, 11198, 24872, 66679)
            Taux = Array(0, 0.055, 0.14, 0.3, 0.4)
        Case 2005
            Tbl = Array(0, 4413, 8677, 15274, 24731, 40241, 49624)
            Taux = Array(0, 0.0683, 0.194, 0.2826, 0.3738, 0.4262, 0.4809)
        Case 2004
            Tbl = Array(0, 4334, 8524, 15004, 24294, 39529, 48747)
            Taux = Array(0, 0.0683, 0.194, 0.2826, 0.3738, 0.4262, 0.4809)
        Case 2003
            Tbl = Array(0, 4263, 8382, 14753, 23888, 38868, 47932)
            Taux = Array(0, 0.0683, 0.194, 0.2826, 0.3738, 0.4262, 0.4809)
        Case 2002
            Tbl = Array(0, 4191, 8242, 14506, 23489, 38218, 47131)
            Taux = Array(0, 0.0683, 0.194, 0.2826, 0.3738, 0.4262, 0.4809)
        Case 2001
            Tbl = Array(0, 4121, 8104, 14264, 23096, 37579, 46343)
            Taux = Array(0, 0.075, 0.21, 0.31, 0.41, 0.4675, 0.5275)
        Case 2000
            Tbl = Array(0, 26600, 52320, 92090, 149110, 242620, 299200)
            Taux = Array(0, 0.085, 0.2175, 0.3175, 0.4175, 0.4725, 0.5325)
    End Select
    
    i = 1
    Do
        calculImpotParAnnee = calculImpotParAnnee + WorksheetFunction.Max(WorksheetFunction.Min(revenu - Tbl(i), Tbl(i + 1) - Tbl(i)), 0) * Taux(i)
        i = i + 1
    Loop While revenu > Tbl(i) And i < UBound(Tbl)
    
    CalculImpotSansQuotient = calculImpotParAnnee
End Function

Function CalculImpot(revenu As Double, nbPart As Double, nbAdultes As Double, Optional SalaireDejaAbattu As Boolean = False, Optional annee As Integer = 2024, Optional plafondDemiePart As Double = 1759) As Double
    Dim impotParPart  As Double
    Dim impotParPartRameneATouteLesParts As Double
    Dim impotPourAdultes  As Double
    Dim reductionImpotGraceAuxEnfants  As Double
    Dim nbDemiPartSupplementaire  As Double
    Dim plafondCalcule  As Double
    Dim sommeAAjouterLieeAuPlafond  As Double
    Dim impotAvantDecote As Double
    Dim impotFinal As Double
    
    If SalaireDejaAbattu = FALSE Then
        revenu = revenu * 0.9 'abattement de 10%
    End If
    
    'Le plafondDemiePart est de 1759 le 14/03/2024   https://www.economie.gouv.fr/particuliers/tranches-imposition-impot-revenu
    'Calcul lié aux 880 € pour chaque quart de part supplémentaire. non pris en compte
    'Nombre de parts - quotient familial :   2
    'Nombre d'adultes dans le foyer :    1
    'Revenus du foyer avant abattement de 10%:  66 667 €
    'Revenus du foyer après abattement de 10%:  60 000 €
    'Résultat: 7 768 €  =CalculImpot(66667;2;1)    ou    =CalculImpot(60000;2;1;TRUE)
    'D'après le simulateur du gouvernement: 7 768,00 €  (https://simulateur-ir-ifi.impots.gouv.fr)
    
    impotParPart = CalculImpotSansQuotient(revenu / nbPart, annee)
    impotParPartRameneATouteLesParts = impotParPart * nbPart
    impotPourAdultes = CalculImpotSansQuotient(revenu / nbAdultes, annee)
    reductionImpotGraceAuxEnfants = impotPourAdultes - impotParPartRameneATouteLesParts
    nbDemiPartSupplementaire = (nbPart - nbAdultes) * 2
    plafondCalcule = nbDemiPartSupplementaire * plafondDemiePart
    sommeAAjouterLieeAuPlafond = reductionImpotGraceAuxEnfants - plafondCalcule
    
    If sommeAAjouterLieeAuPlafond > 0 Then
        impotAvantDecote = impotParPartRameneATouteLesParts + sommeAAjouterLieeAuPlafond
    Else
        impotAvantDecote = impotParPartRameneATouteLesParts
    End If
    
    If annee < 2020 Then 'Decote par cherchée avant cette date (a faire)
        CalculImpot = impotAvantDecote
    Else
        'Partie decote:
        'https://www.economie.gouv.fr/particuliers/tranches-imposition-impot-revenu
        'Pour bénéficier de ce mécanisme, votre impôt sur le revenu brut ne doit pas dépasser les seuils suivants en 2024 (déclaration des revenus de 2023) :
        '
        '1 929 € pour les célibataires, divorcés, veufs
        '3 191 € pour un couple marié soumis à l'imposition commune.
        'La décote s’applique automatiquement. Pour en connaître le montant, vous devez soustraire d’un montant forfaitaire
        '(873 euros pour une personne seule ou 1 444 euros pour un couple) votre impôt brut, auquel s’applique un taux de 45,25 %.
        
        impotFinal = impotAvantDecote
        
        If (impotAvantDecote < 1929 And nbAdultes = 1) Then
            impotFinal = impotAvantDecote - (873 - (impotAvantDecote * 45.25 / 100)) '2023
        ElseIf impotAvantDecote < 3191 And nbAdultes > 1 Then
            impotFinal = impotAvantDecote - (1144 - (impotAvantDecote * 45.25 / 100)) '2023
        End If
        
        Select Case annee
            Case 2022
                'https://www.economie.gouv.fr/particuliers/decote-impot-revenu
                If (impotAvantDecote < 1840 And nbAdultes = 1) Then
                    impotFinal = impotAvantDecote - (833 - (impotAvantDecote * 45.25 / 100)) '2023
                ElseIf impotAvantDecote < 3045 And nbAdultes > 1 Then
                    impotFinal = impotAvantDecote - (1307 - (impotAvantDecote * 45.25 / 100)) '2023
                End If
                
                'https://www.boursorama.com/patrimoine/fiches-pratiques/2021-une-decote-d-impot-nouvelle-version-deb7ef74b1172895f187ec6856ebb7e0
                'https://impotsurlerevenu.org/comprendre-le-calcul-de-l-impot/559-decote-de-l-impot.php
            Case 2021
                If (impotAvantDecote < 1746 And nbAdultes = 1) Then
                    impotFinal = impotAvantDecote - (790 - (impotAvantDecote * 45.25 / 100)) '2023
                ElseIf impotAvantDecote < 2888 And nbAdultes > 1 Then
                    impotFinal = impotAvantDecote - (1307 - (impotAvantDecote * 45.25 / 100)) '2023
                End If
                
            Case 2020
                If (impotAvantDecote < 1611 And nbAdultes = 1) Then
                    impotFinal = impotAvantDecote - (779 - (impotAvantDecote * 45.25 / 100)) '2023
                ElseIf impotAvantDecote < 2653 And nbAdultes > 1 Then
                    impotFinal = impotAvantDecote - (1289 - (impotAvantDecote * 45.25 / 100)) '2023
                End If
        End Select
        
        'Cas de calcul d'impôt à 527 euros (impotAvantDecote) pour un adulte: dans ce cas, négatif
        If impotFinal < 0 Then
            impotFinal = 0
        End If
        
        CalculImpot = impotFinal
    End If
    
End Function

Bonne journée,

Olivier


Posté le 15 mars, 10:01
par OlivierC

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :