PPmt, fonction
Renvoie une valeur de type Double indiquant le remboursement du capital, pour une période donnée, d'une annuité basée sur des versements constants et périodiques, et sur un taux d'intérêt fixe.
Syntaxe
PPmt(rate, per, nper, pv, [ fv, [ type ]])
La fonction PPmt a les arguments nommés suivants :
Élément | Description |
---|---|
taux | Obligatoire. Double spécifiant le taux d’intérêt par période. Par exemple, si vous obtenez un prêt pour l’achat d’une voiture à un taux d’intérêt annuel de 10 % et que vous effectuez des versements mensuels, le taux par période est 0,1/12, soit 0,0083. |
par | Obligatoire. Integer spécifiant la période du versement dans la plage de 1 à nper. |
nper | Obligatoire. Entier spécifiant le nombre total de remboursements par annuité. Par exemple, si vous effectuez des versements mensuels sur 4 ans dans le cadre d’un emprunt pour l’achat d’une voiture, votre emprunt comporte un total de 4 * 12 (soit 48) échéances. |
Pv | Obligatoire. Double spécifiant la valeur actuelle, ou valeur à ce jour, d’une série de versements ou d’encaissements futurs. Par exemple, lorsque vous empruntez de l’argent pour acheter une voiture, le montant du prêt est la valeur actuelle pour le prêteur des paiements mensuels que vous allez effectuer. |
Fv | Optional. Variant spécifiant la valeur future ou le solde que vous souhaitez après avoir effectué le dernier versement. Par exemple, la valeur future d’un emprunt est 0 € car il s’agit de sa valeur après le dernier versement. Toutefois, si vous voulez économiser 50 000 $ sur 18 ans pour les études de votre enfant, 50 000 $ sont la valeur future. Si cet argument est omis, 0 est utilisé par défaut. |
type | Optional. Variant spécifiant quand les versements sont dus. Utilisez 0 si les versements sont dus à la fin de la période de paiement ou 1 s’ils sont dus au début de la période. Si cet argument est omis, 0 est utilisé par défaut. |
Remarques
Une annuité est une série de versements fixes effectués durant une période donnée. Il peut s’agir d’un emprunt (par exemple un prêt immobilier) ou d’un investissement (par exemple un plan d’épargne mensuelle).
Les arguments taux et nper doivent être calculés à l’aide de périodes de paiement exprimées dans les mêmes unités. Par exemple, si rate est calculé en mois, nper doit également être calculé en mois.
Pour tous les arguments, les sommes versées (telles que les dépôts sur les comptes épargne) sont représentées par des nombres négatifs ; les sommes perçues (telles que les versements de dividendes) sont représentées par des nombres positifs.
Exemple
Cet exemple utilise la fonction PPmt pour calculer la part de principal d'un versement pour une période spécifique lorsque tous les versements sont de valeur égale. Sont donnés le taux d’intérêt en pourcentage par période (APR / 12
), la période de paiement pour laquelle la partie principale est souhaitée (Period
), le nombre total de paiements (TotPmts
), la valeur actuelle ou le principal du prêt (PVal
), la valeur future du prêt (FVal
) et un nombre qui indique si le paiement est dû au début ou à la fin de la période de paiement (PayType
).
Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment, Msg, MakeChart, Period, P, I
Const ENDPERIOD = 0, BEGINPERIOD = 1 ' When payments are made.
NL = Chr(13) & Chr(10) ' Define new line.
TB = Chr(9) ' Define tab.
Fmt = "###,###,##0.00" ' Define money format.
FVal = 0 ' Usually 0 for a loan.
PVal = InputBox("How much do you want to borrow?")
APR = InputBox("What is the annual percentage rate of your loan?")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = InputBox("How many monthly payments do you have to make?")
PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
Payment = Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
Msg = Msg & "Would you like a breakdown of your principal and "
Msg = Msg & "interest per period?"
MakeChart = MsgBox(Msg, vbYesNo) ' See if chart is desired.
If MakeChart <> vbNo Then
If TotPmts > 12 Then MsgBox "Only first year will be shown."
Msg = "Month Payment Principal Interest" & NL
For Period = 1 To TotPmts
If Period > 12 Then Exit For ' Show only first 12.
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
P = (Int((P + .005) * 100) / 100) ' Round principal.
I = Payment - P
I = (Int((I + .005) * 100) / 100) ' Round interest.
Msg = Msg & Period & TB & Format(Payment, Fmt)
Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
Next Period
MsgBox Msg ' Display amortization table.
End If
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.