Calcule majoration

bonjour
j'avais ce code VBA qui me permet de calcule majoration de retard
'm représente le mois limite et a représente l'année
Function taxe(cel2, cel, m, a)
'MsgBox CDate("1/" & m & "/" & a)
If cel = "" Then Exit Function
d = DateDiff("m", CDate("1/" & m & "/" & a), cel)
If d > 0 Then
taxe = d - 1
taxe = (cel2 * 10) / 100 + (cel2 * 5) / 100 + cel2 + ((cel2 * 0.5 / 100 * taxe))
Else
taxe = cel2
End If
End Function

ce que je cherche à faire c'est de changer m qui représente le mois limite par le dernier trimestre non payé sur la ligne F
c'est à dire c'est j'ais T1 dans la colonne F donc " =taxe(E4;F1;4;G4)" et pour T2 "" =taxe(E4;F1;7;G4)"

10taxe.xlsm (17.19 Ko)

bonsoir,

une proposition

9taxe.xlsm (16.31 Ko)

Merci pour votre réponse mais en effet il calcule seulement un seule trimestre

ce que je vous c'est le total depuis T1/2020 jusqu'à aujourd'hui c'est à dire t1+t2+t3+t4/2020 +t1..t4/2021 + .....

bonjour,

ce que je vous c'est le total depuis T1/2020 jusqu'à aujourd'hui c'est à dire t1+t2+t3+t4/2020 +t1..t4/2021 + .....

Je n'avais pas deviné, désolé.

une nouvelle version avec une nouvelle fonction, à vérifier.

11taxe.xlsm (17.39 Ko)

Merci beaucoup c'est exactement ce que je voulais

une dernière question svp et excusez moi c'est je demande trop

pouvez vous me dire exactement ou se trouve le code qui calcule les nombre des trimestre

car en plus de taxe qui s'applique sur 120.00 je dois ajouter un montant x nb trimistre

bonjour,

le code ne comprend pas d'instruction pour compter le nombre de trimestres. Voici une adaptation de la fonction (avec un paramètre supplémentaire, le montant de la pénalité par trimeste)

Function sommetaxe(cel2, cel, trm, a,montant)
' fonction de calcul de la somme des taxes, cel2=montant à payer, cel= date de référence, trm= trimestre du dernier paiement (sous la forme T1 à T4), a = année du dernier paiement, montant = montant de la pénalité supplémentaire par trimestre non payé.
    m = (Right(trm, 1) - 1) * 3 + 4
    If m > 12 Then m = 1: a = a + 1
    pe = DateSerial(a, m, 1)
    Do While pe < cel
        st = st + taxe(cel2, cel, m, a)
        nt = nt + 1 'nt = compteur le nombre de trimestres
        m = m + 3
        If m > 12 Then m = 1: a = a + 1
        pe = DateSerial(a, m, 1)
    Loop
    sommetaxe = st + nt * montant
End Function
Merci beaucoup
Rechercher des sujets similaires à "calcule majoration"