Partager via


NPer, fonction

Mise à jour : novembre 2007

Retourne un Double spécifiant le nombre d'échéances d'une annuité basée sur des versements constants et périodiques et sur un taux d'intérêt fixe.

Function NPer( _
   ByVal Rate As Double, _
   ByVal Pmt 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é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 (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.

  • Pmt
    Requis. Double spécifiant le versement à effectuer à chaque échéance. Les paiements comprennent généralement le capital et les intérêts qui ne sont pas modifiés au cours de l'annuité.

  • PV
    Requis. Double spécifiant la valeur actuelle, ou valeur au jour d'aujourd'hui, 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
    Facultatif. Double spécifiant 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.

Exceptions

Type d'exception

Numéro de l'erreur

Condition

ArgumentException

5

Rate <= -1.

ArgumentException

5

Rate = 0 et Pmt = 0

Consultez la colonne « Numéro d'erreur » si vous mettez à niveau des applications Visual Basic 6.0 qui utilisent la gestion des erreurs non structurée. (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.

Notes

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

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.

Exemple

Cet exemple utilise la fonction NPer pour retourner le nombre de périodes nécessaires pour rembourser un emprunt dont le montant est représenté par PVal. Sont également spécifiés le taux d'intérêt par période (APR / 12), le montant des paiements (Payment), la valeur future de l'emprunt (FVal), ainsi qu'un nombre indiquant si les remboursements s'effectuent au début ou à la fin des échéances (PayType).

Sub TestNPer()
    Dim TotPmts As Double
    Dim PVal, APR, Payment As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' 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?"))
    ' Usually 0 for a loan.
    If APR > 1 Then APR = APR / 100
    Payment = CDbl(InputBox("How much do you want to pay each month?"))
    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
    TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
    If Int(TotPmts) <> TotPmts Then TotPmts = Int(TotPmts) + 1

    MsgBox("It will take you " & TotPmts & " months to pay off your loan.")
End Sub

Configuration requise

Espace de noms :Microsoft.VisualBasic

**Module :**Financial

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

Voir aussi

Référence

Liste des mots clés financiers

ArgumentException