Function se stop au milieu du code

Bonjour,

J'ai créé une Function qui calcul le montant d'impôt selon les tranches. L'utilisation étant prévu pour plusieurs années passées comme futures, la fonction récupère les tranches et les taux dans une base de données puis calcule.

Problème elle s'arrête au début du code sans raison apparente et retourne #VALEUR!...

Peut être qu'il y a trop de données ?

Voici le début du code :

Function IRBRUT(QF As Double, NbParts As Integer, Annee As Integer)

    Application.Volatile

    Dim Wb As Workbook
    Set Wb = ThisWorkbook

    Dim Ws As String
    Ws = Annee

    Dim T1Deb As Integer, T1Fin As Integer, T1Taux As Integer
    T1Deb = Application.WorksheetFunction.VLookup(Annee & ".T1", Wb.Sheets("DATA").Columns("J:M"), 2, False)
    T1Fin = Application.WorksheetFunction.VLookup(Annee & ".T1", Wb.Sheets("DATA").Columns("J:M"), 3, False)
    T1Taux = Application.WorksheetFunction.VLookup(Annee & ".T1", Wb.Sheets("DATA").Columns("J:M"), 4, False)

    Dim T2Deb As Integer, T2Fin As Integer, T2Taux As Integer
    T2Deb = Application.WorksheetFunction.VLookup(Annee & ".T2", Wb.Sheets("DATA").Columns("J:M"), 2, False)
    T2Fin = Application.WorksheetFunction.VLookup(Annee & ".T2", Wb.Sheets("DATA").Columns("J:M"), 3, False)
    T2Taux = Application.WorksheetFunction.VLookup(Annee & ".T2", Wb.Sheets("DATA").Columns("J:M"), 4, False)

    Dim T3Deb As Integer, T3Fin As Integer, T3Taux As Integer
    T3Deb = Application.WorksheetFunction.VLookup(Annee & ".T3", Wb.Sheets("DATA").Columns("J:M"), 2, False)
    T3Fin = Application.WorksheetFunction.VLookup(Annee & ".T3", Wb.Sheets("DATA").Columns("J:M"), 3, False)
    T3Taux = Application.WorksheetFunction.VLookup(Annee & ".T3", Wb.Sheets("DATA").Columns("J:M"), 4, False)

    Dim T4Deb As Integer, T4Fin As Integer, T4Taux As Integer
    T4Deb = Application.WorksheetFunction.VLookup(Annee & ".T4", Wb.Sheets("DATA").Columns("J:M"), 2, False)
    T4Fin = Application.WorksheetFunction.VLookup(Annee & ".T4", Wb.Sheets("DATA").Columns("J:M"), 3, False)
    T4Taux = Application.WorksheetFunction.VLookup(Annee & ".T4", Wb.Sheets("DATA").Columns("J:M"), 4, False)

    Dim T5Deb As Integer, T5Fin As Integer, T5Taux As Integer
    T5Deb = Application.WorksheetFunction.VLookup(Annee & ".T5", Wb.Sheets("DATA").Columns("J:M"), 2, False)
    T5Fin = Application.WorksheetFunction.VLookup(Annee & ".T5", Wb.Sheets("DATA").Columns("J:M"), 3, False)
    T5Taux = Application.WorksheetFunction.VLookup(Annee & ".T5", Wb.Sheets("DATA").Columns("J:M"), 4, False)

La function repart à 0 aux alentours de la partie concernant la tranche 3, recommence et s'arrête.

Merci d'avance !

Killian

PS : Le fichier contient des données sensibles et confidentielles, je ne peux donc pas le partager. Mais je peux répondre rapidement au besoin avec des captures d'écran.

Bonjour,

Essayez avec cette formule :

https://forum.excel-pratique.com/excel/calcul-de-commissions-par-palier-152953#p945067

Qui peut être variabilisée grâce à l'utilisation d'INDIRECT en nommant chaque tableau annuel 2020, 2021, ...

Ensuite, vous divisez par le nombre de parts le résultat sachant qu'il existe quelques petites subtilités et notamment de possibles décotes...

Cdlt,

Bonjour, j'avais oublié de vous répondre... Merci pour votre réponse j'ai réussi par résoudre le problème grâce à vos pistes

Rechercher des sujets similaires à "function stop milieu code"