Section courante

A propos

Section administrative du site

Il est souvent frustrant de constater que certaines fonctions financières extrêmement utiles sont disponibles dans les grands tableurs commerciaux, mais qu'elles sont rarement documentées de façon claire lorsqu'il s'agit de les intégrer dans un programme informatique. Des logiciels comme Lotus 1-2-3, Quattro Pro ou encore les tableurs modernes permettent d'effectuer instantanément des calculs financiers complexes grâce à des fonctions prédéfinies. Cependant, lorsqu'un programmeur souhaite obtenir les mêmes résultats dans une application Delphi, Kylix ou Lazarus, il doit généralement recréer lui-même les formules mathématiques et les algorithmes utilisés en arrière-plan.

Parmi ces fonctions particulièrement intéressantes se trouve la fonction NPer, dont le nom provient de l'expression anglaise «Number of Periods». Cette fonction permet de déterminer le nombre de périodes de paiement nécessaires pour atteindre un objectif financier donné ou pour rembourser complètement un emprunt. Elle est largement utilisée dans les domaines de la finance personnelle, de la gestion de prêts, de la planification budgétaire et des analyses d'investissement. Grâce à elle, il devient possible d'estimer combien de versements seront requis en fonction d'un taux d'intérêt, d'un montant de paiement périodique et d'un capital initial ou final.

La fonction NPer est particulièrement utile lorsqu'une personne souhaite connaître la durée nécessaire pour rembourser une dette ou atteindre une somme cible à partir de versements réguliers. Elle permet également de comparer différents scénarios de financement et d'évaluer l'impact d'une modification du taux d'intérêt oudu montant des versements sur la durée totale d'un emprunt. Sans un outil de ce type, ces calculs exigeraient de nombreuses opérations manuelles ou l'utilisation répétée de méthodes d'approximation.

Le programme Delphi présenté ci-dessous reproduit le comportement de cette célèbre fonction financière en utilisant les fonctions logarithmiques et exponentielles disponibles dans le langage. Il démontre comment déterminer précisément le nombre de périodes nécessaires à partir des paramètres financiers habituels. Dans l'exemple fourni, le calcul est effectué pour un scénario où l'on dispose de versements de 2 000 dollars, d'un solde actuel de 633 dollars et d'un taux d'intérêt de 11,5 %. À l'aide de ce code source, vous trouverez la réponse que vous souhaitez tout en découvrant les principes mathématiques qui permettent aux tableurs de réaliser automatiquement ce type d'analyse financière avancée :

  1. Program NPerSource;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. Uses SysUtils;
  6.  
  7. Function FVal(Rate,Nper,Pmt,PV,PType:Real):Real;
  8. Var
  9.  F:Real;
  10. Begin
  11.  F:=Exp(NPer*Ln(1+Rate));
  12.  If Abs(Rate)<1E-6Then
  13.   FVal:=-Pmt*Nper*(1+(Nper-1)*Rate/2)*(1+Rate*PType)-PV*F
  14.  Else
  15.   FVal:=Pmt*(1-F)*(1/Rate+PType)-PV*F;
  16. End;
  17.      
  18. Function NPer(Rate,Pmt,PV,FV,PType:Real):Real;
  19. Var
  20.  F:Real;
  21. Begin
  22.  F:=Pmt*(1+Rate*PType);
  23.  If Abs(Rate)>1E-6Then NPer:=Ln((F-Rate*FV)/(PV*Rate+F))/Ln(1+Rate)
  24.                   Else NPer:=-(FV+PV)/(PV*Rate+F);
  25. End;
  26.      
  27. BEGIN
  28.  WriteLn('En disposant de 2000$, et que le solde actuel est de 633$ et l''intérêt de 11,5%:');
  29.  WriteLn(NPer(0.115,-2000,-633,50000,0):2:2);
  30. END.

on obtiendra le résultat suivant :

En disposant de 2000$, et que le solde actuel est de 633$ et l'intérêt de 11,5%:
12.12


Dernière mise à jour : Dimanche, le 17 août 2014