Renvoie un double spécifiant le nombre de périodes d’une annuité sur la base de paiements périodiques et fixes et d’un taux d’intérêt fixe.
Syntaxe
NPer(taux, pmt,pv [, vc ] [, type ] )
La syntaxe de la fonction NPer contient les arguments suivants :
| Argument | Description |
|---|---|
| taux | Obligatoire. Double en spécifiant le taux d’intérêt par période. Par exemple, si vous obtenez un prêt automobile à un taux annuel effectif global (TAEG) de 10 % et effectuez des paiements mensuels, le taux par période est de 0,1/12, soit 0,0083. |
| VPM | Obligatoire. Double spécifiant le paiement à effectuer à chaque période. Les paiements contiennent généralement du capital et des intérêts qui ne changent pas pendant la durée de la rente. |
| PV | Obligatoire. Double spécifiant la valeur actuelle, ou la valeur aujourd’hui, d’une série de paiements ou de reçus futurs. Par exemple, lorsque vous empruntez de l’argent pour acheter une voiture, le montant du prêt correspond à la valeur actuelle pour le prêteur des paiements mensuels que vous effectuerez. |
| fv | Facultatif. Variante spécifiant la valeur future ou le solde de trésorerie que vous souhaitez effectuer après avoir effectué le paiement final. Par exemple, la valeur future d’un prêt est de 0 $, car il s’agit de sa valeur après le paiement final. Cependant, si vous voulez économiser 50 000 $ sur 18 ans pour les études de votre enfant, alors 50 000 $ est la valeur future. Si cette valeur est omise, 0 est supposé. |
| tapez | Facultatif. Variante spécifiant quand les paiements doivent être effectués. Utilisez 0 si les paiements sont dus à la fin de la période de paiement, ou utilisez 1 si les paiements sont dus au début de la période. Si cette valeur est omise, 0 est supposé. |
Remarques
Une rente est une série de paiements fixes en espèces effectués sur une période de temps. Une rente peut être un prêt (comme une hypothèque immobilière) ou un investissement (comme un plan d’épargne mensuel).
Pour tous les arguments, l’argent versé (comme les dépôts à l’épargne) est représenté par des nombres négatifs ; L’argent reçu (comme les chèques de dividende) est représenté par des nombres positifs.
Exemple de requête
| Expression | Résultats |
|---|---|
| SELECT FinancialSample.*, INT(NPER([AnnualRate]/12,-[MonthlyRePayment],[LoanAmount],0,0)) AS MonthsRequired FROM FinancialSample ; | Renvoie tous les champs de la table « FinancialSample », calcule le nombre de périodes (mois dans cet exemple) requises pour payer le « LoanAmount » sur la base du « AnnualRate » et du « MonthlyRepayment », puis affiche les résultats dans la colonne MonthsRequired. La fonction INT est utilisée pour convertir la sortie de données « Double » en valeur entière. |
Exemple de VBA
Remarque
Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence développeur dans la liste déroulante en regard de Rechercher , puis entrez un ou plusieurs termes dans la zone de recherche.
Cet exemple utilise la fonction NPer pour renvoyer le nombre de périodes pendant lesquelles des paiements doivent être effectués pour rembourser un emprunt dont la valeur est contenue dans PVal. Sont également fournis le taux d’intérêt en pourcentage par période (APR / 12), le paiement (Payment), la valeur future du prêt (FVal) et un nombre indiquant si le paiement est dû au début ou à la fin de la période de paiement (PayType).
Dim FVal, PVal, APR, Payment, PayType, TotPmts
' When payments are made.
Const ENDPERIOD = 0, BEGINPERIOD = 1
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.
Payment = InputBox("How much do you " & _
"want to pay each month?")
PayType = MsgBox("Do you make payments " & _
"at the end of month?", vbYesNo)
If PayType = vbNo Then
PayType = BEGINPERIOD
Else PayType = ENDPERIOD
End If
TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
If Int(TotPmts) <> TotPmts Then
TotPmts = Int(TotPmts) + 1
End If
MsgBox "It will take you " & TotPmts & _
" months to pay off your loan."