Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une valeur 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.
public static double PPmt (double Rate, double Per, double NPer, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member PPmt : double * double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function PPmt (Rate As Double, Per As Double, NPer As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod) As Double
Paramètres
- Rate
- Double
Obligatoire. Taux d’intérêt par période. Par exemple, si vous obtenez un prêt à un taux d'intérêt annuel (TIA) de 10 pour cent et que vous effectuez des remboursements mensuels, le taux par échéance est de 0,1/12, soit 0,0083.
- Per
- Double
Obligatoire. Période de remboursement dans la plage comprise entre 1 et NPer
.
- NPer
- Double
Obligatoire. Nombre total d’échéances de l’annuité. Par exemple, si vous effectuez des remboursements mensuels dans le cadre d'un emprunt d'une durée de quatre ans, votre emprunt comporte un total de 48 (4 x 12) échéances.
- PV
- Double
Obligatoire. Valeur actuelle d’une série de paiements ou d’encaissements futurs. Par exemple, lorsque vous empruntez de l'argent pour acheter une voiture, le montant du prêt correspond pour le prêteur à la valeur actuelle des remboursements mensuels que vous allez effectuer pour la voiture.
- FV
- Double
Optionnel. Valeur future ou solde de caisse souhaité au terme du dernier remboursement. Par exemple, la valeur future d'un emprunt est de 0 €, car il s'agit de sa valeur après le dernier remboursement. Toutefois, si vous souhaitez économiser 50 000 € sur 18 ans pour les études de votre enfant, ce montant constitue la valeur future. Si cet argument est omis, la position 0 est utilisée par défaut.
- Due
- DueDate
Optionnel. Objet de type DueDate qui spécifie la date d'échéance des paiements. Cet argument doit avoir la valeur DueDate.EndOfPeriod
si les paiements sont dus à terme échu ou DueDate.BegOfPeriod
si les paiements sont dus à terme à échoir. En cas d'omission, DueDate.EndOfPeriod
est utilisé.
Retours
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.
Exceptions
Per
<=0 ou Per
>NPer
.
Exemples
Cet exemple utilise la fonction pour calculer le PPmt
montant d’un paiement pour une période spécifique en principal lorsque tous les paiements 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 du principal 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
).
Sub TestPPMT()
Dim PVal, APR, TotPmts, Payment, Period, P, I As Double
Dim PayType As DueDate
Dim Msg As String
Dim Response As MsgBoxResult
' Define money format.
Dim Fmt As String = "###,###,##0.00"
' Usually 0 for a loan.
Dim Fval As Double = 0
PVal = CDbl(InputBox("How much do you want to borrow?"))
APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
' Ensure proper form.
If APR > 1 Then APR = APR / 100
TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
Payment = Math.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?"
' See if chart is desired.
Response = MsgBox(Msg, MsgBoxStyle.YesNo)
If Response <> MsgBoxResult.No Then
If TotPmts > 12 Then MsgBox("Only first year will be shown.")
Msg = "Month Payment Principal Interest" & Environment.NewLine
For Period = 1 To TotPmts
' Show only first 12.
If Period > 12 Then Exit For
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
' Round principal.
P = (Int((P + 0.005) * 100) / 100)
I = Payment - P
' Round interest.
I = (Int((I + 0.005) * 100) / 100)
Msg = Msg & Period & vbTab & Format(Payment, Fmt)
Msg = Msg & vbTab & Format(P, Fmt) & vbTab & Format(I, Fmt) & Environment.NewLine
Next Period
' Display amortization table.
MsgBox(Msg)
End If
End Sub
Remarques
Une rente est une série de paiements en espèces fixes effectués sur une période donnée. Une annuité peut être un prêt (comme une hypothèque d’habitation) ou un investissement (par exemple, un plan d’épargne mensuel).
Les Rate
arguments 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é à l’aide de mois, NPer
doit également être calculé à l’aide de mois.
Pour tous les arguments, l’argent payé (comme les dépôts à l’épargne) est représenté par des nombres négatifs ; l’argent reçu (par exemple, les chèques de dividendes) est représenté par des chiffres positifs.