Section courante

A propos

Section administrative du site

Il est souvent frustrant pour un programmeur de constater que certaines fonctions financières avancées sont immédiatement disponibles dans les grands tableurs, alors qu'elles nécessitent plusieurs lignes de code lorsqu'on souhaite les reproduire dans une application personnalisée. Des logiciels populaires comme Lotus 1-2-3 et Quattro Pro offrent depuis longtemps une vaste bibliothèque de fonctions permettant d'effectuer des calculs financiers complexes avec une grande simplicité. Parmi celles-ci figure la fonction NPer (Number of Periods), appelée Nombre de périodes dans certaines versions françaises. Cette fonction est particulièrement utile lorsqu'il s'agit de déterminer le nombre de versements nécessaires pour atteindre un objectif financier donné ou pour rembourser un emprunt en fonction d'un taux d'intérêt, d'un montant périodique et d'un solde initial. Bien qu'elle paraisse simple à utiliser dans un tableur, sa mise en oeuvre dans un langage de programmation demande une bonne compréhension des formules financières et des logarithmes utilisés pour résoudre l'équation. Le programme QuickBASIC/QBasic présenté ci-dessous reproduit fidèlement le comportement de cette fonction en utilisant quelques opérations mathématiques relativement simples. Grâce à cette routine, il devient possible d'intégrer directement le calcul du nombre de périodes dans vos propres logiciels sans dépendre d'un tableur externe. L'exemple fourni démontre comment déterminer le temps nécessaire pour faire croître un capital ou atteindre une valeur cible à partir d'un montant initial, d'un versement donné et d'un taux d'intérêt annuel. En exécutant ce programme, vous obtiendrez exactement le même type de résultat que celui retourné par les célèbres fonctions financières des tableurs, ce qui facilite grandement le développement d'applications de gestion, de comptabilité ou d'analyse financière.

A l'aide du code source QuickBASIC/QBasic suivant, vous trouverez la réponse que vous souhaitez :

  1. DECLARE FUNCTION NPer! (Rate!, Pmt!, PV!, FV!, PType!)
  2.  
  3. PRINT "En disposant de 2000$, et que le solde actuel est de 633$ et l'intérêt de 11,5%:"
  4. PRINT STR$(NPer(.115, -2000, -633, 50000, 0))
  5.  
  6. FUNCTION NPer (Rate, Pmt, PV, FV, PType)
  7.     F = Pmt * (1 + Rate * PType)
  8.     IF ABS(Rate) > .000001 THEN
  9.         NPer = LOG((F - Rate * FV) / (PV * Rate + F)) / LOG(1 + Rate)
  10.     ELSE
  11.         NPer = -(FV + PV) / (PV * Rate + F)
  12.     END IF
  13. END FUNCTION

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 : Mercredi, le 14 septembre 2016