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