Rate, fonction

Mise à jour : novembre 2007

Retourne une valeur de type Double indiquant le taux d'intérêt par échéance pour une annuité.

Function Rate( _
   ByVal NPer As Double, _
   ByVal Pmt As Double, _
   ByVal PV As Double, _
   Optional ByVal FV As Double = 0, _
   Optional ByVal Due As DueDate = DueDate.EndOfPeriod, _
   Optional ByVal Guess As Double = 0.1 _
) As Double

Paramètres

  • 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 * 12 (soit 48) échéances.

  • Pmt
    Requis. Double indique 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 indique la valeur actuelle, ou valeur au jour d'aujourd'hui, d'une série de paiements ou de 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.

  • Guess
    Facultatif. Double spécifiant la valeur que vous estimez est retourné par Rate. Si cet argument est omis, Guess a la valeur 0.1 (10 pour cent).

Exceptions

Type d'exception

Numéro de l'erreur

Condition

ArgumentException

5

NPer <= 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'erreur 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.

Rate est calculé par itération. En commençant par la valeur de l'argument Guess, la fonction Rate répète le cycle de calcul jusqu'à ce que le résultat soit précis à 0,00001 pour cent près. La fonction Rate échoue si elle n'a pas pu trouver de résultat après 20 tentatives. Si votre estimation est de 10 pour cent et si la fonction Rate échoue, essayez d'attribuer une valeur différente à Guess.

Exemple

Cet exemple utilise la fonction Rate pour calculer le taux d'intérêt d'un emprunt, en fonction du nombre d'échéances (TotPmts), du montant des remboursements (Payment), de la valeur actuelle ou du capital de l'emprunt (PVal), de la valeur future de l'emprunt (FVal), d'un nombre indiquant si le paiement doit être effectué en début ou en fin de période (PayType), ainsi que de la valeur approximative du taux d'intérêt escompté (Guess).

Sub TestRate()
    Dim PVal, Payment, TotPmts, APR As Double
    Dim PayType As DueDate

    ' Define percentage format.
    Dim Fmt As String = "##0.00"
    Dim Response As MsgBoxResult
    ' Usually 0 for a loan.
    Dim FVal As Double = 0
    ' Guess of 10 percent.
    Dim Guess As Double = 0.1
    PVal = CDbl(InputBox("How much did you borrow?"))
    Payment = CDbl(InputBox("What's your monthly payment?"))
    TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
    Response = MsgBox("Do you make payments at the end of the month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    APR = (Rate(TotPmts, -Payment, PVal, FVal, PayType, Guess) * 12) * 100

    MsgBox("Your interest rate is " & Format(CInt(APR), Fmt) & " percent.")
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