Cliquez pour évaluer et commenter
MSDN
MSDN Library
Visual Studio 2005
Documentation Visual Studio
Visual Basic
Référence (Visual Basic)
Référence Visual Basic
Fonctions
Fonctions M-R
 PPmt, fonction
Réduire tout/Développer tout Réduire tout
Cette page est spécifique à
Microsoft Visual Studio 2005/.NET Framework 2.0

D'autres versions sont également disponibles pour :
Référence du langage Visual Basic
PPmt, fonction

Retourne 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.

Function PPmt( _
   ByVal Rate As Double, _
   ByVal Per As Double, _
   ByVal NPer As Double, _
   ByVal PV As Double, _
   Optional ByVal FV As Double = 0, _
   Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double

Paramètres

Rate

Requis. Double spécifie 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 (TIA) de 10 pour cent et si vous effectuez des remboursements mensuels, le taux par échéance est de 0,1/12, soit 0,0083.

Per

Requis. Double indique la périodicité des paiements, comprise entre 1 et NPer.

NPer

Requis. Double spécifie le 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 pour l'achat d'une voiture, votre emprunt comporte un total de 4 x 12 (soit 48) échéances.

PV

Requis. Double spécifie la valeur actuelle d'une série de paiements ou recettes 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

Facultatif. Double indique la valeur future ou le solde en liquide 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 F 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

Facultatif. Objet de type énumération DueDate indiquant la date d'échéance des paiements. Cet argument doit être DueDate.EndOfPeriod si les paiements sont dus à terme échu ou DueDate.BegOfPeriod si les paiements sont dus à terme à échoir. Si cet argument est omis, DueDate.EndOfPeriod est utilisé par défaut.

Type d'exception Numéro de l'erreur Condition

ArgumentException

5

Per <=0 ou Per > NPer.

Consultez la colonne « Numéro d'erreur » si vous mettez à niveau des applications Visual Basic 6.0 qui utilisent la gestion non structurée des erreurs. (Vous pouvez comparer le numéro d'erreur par rapport à Number, propriété (objet Err).) Toutefois, lorsque cela est possible, vous devez envisager de remplacer un tel contrôle d'erreurs par Vue d'ensemble de la gestion structurée des exceptions pour Visual Basic.

Une annuité est une série de versements constants effectués sur une certaine période. Il peut s'agir d'un prêt (pour l'achat d'une maison, par exemple) ou d'un placement (tel qu'un plan d'épargne sur lequel de l'argent est versé chaque mois).

Les arguments Rate et NPer doivent être calculés à l'aide d'échéances exprimées dans les mêmes unités. Par exemple, si Rate est exprimé en mois, il doit en être de même pour NPer.

Pour tous les arguments, les sommes versées (telles que les dépôts sur un compte épargne) sont représentées par des nombres négatifs ; les sommes reçues (telles que les distributions de dividendes) sont représentées par des nombres positifs.

Cet exemple utilise la fonction PPmt pour déterminer la proportion d'un versement pour une période donnée correspondant au remboursement du capital, sachant que le montant des remboursements reste constant. Sont spécifiés le taux d'intérêt par période (APR / 12), la période de remboursement pour laquelle on souhaite connaître la proportion du capital (Period), le nombre total des remboursements (TotPmts), la valeur actuelle ou le capital de l'emprunt (PVal), la valeur future de l'emprunt (FVal) et un nombre indiquant si les remboursements s'effectuent au début ou à la fin des échéances (PayType).

Visual Basic
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" & vbNewLine
        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) & vbNewLine
        Next Period
        ' Display amortization table.
        MsgBox(Msg)
    End If
End Sub

Espace de noms : Microsoft.VisualBasic

Module : Financial

Assembly : bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)

Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2009 Microsoft Corporation. Tous droits réservés. Conditions d'utilisation | Marques | Confidentialité
Page view tracker