Pour le moment, notre programme calcule et affiche la mensualité à rembourser. La présente étape propose d’établir l’échéancier de remboursement.
La modélisation d’un échéancier est simple : pour une échéance donnée, le montant des intérêts est calculé sur le montant du capital restant dû et le montant du capital amorti égale l’annuité déduction faite des intérêts. Pour obtenir l’échéancier, il suffit de répéter ces calculs sur la durée de remboursement.
Toutes les notions nécessaires aux calculs ont été vues précédemment. Seule manque la technique de programmation qui permet la répétition des calculs de remboursements. Cette répétition est rendue possible à l’aide d’une boucle.
Boucle compteur :
Une boucle est une structure de programmation qui permet de répéter un ensemble d’instructions un certain nombre de fois. Il existe plusieurs types de boucles. Celui que nous verrons ici est de type compteur. Il se construit à l’aide des mots clefs suivants :
FOR variable compteur = départ TO arrivée STEP pas
[…]
NEXT
Exemple :
FOR i=1 TO 5 PRINT « Ligne n° « ,i NEXT i
L’instruction FOR fera prendre à la variable i successivement toutes les valeurs comprises de 1 à (TO) 5. Cet exemple affichera donc cinq lignes « Ligne n° » affublées respectivement du chiffre 1, 2, 3… L’instruction NEXT ferme la boucle, le programme repart sur la ligne FOR jusqu’à ce que la variable i égale cinq.
Dans l’exemple précédent, la variable est incrémentée de un en un. L’instruction STEP permet de définir le pas d’incrémentation. Par exemple, STEP 2 incrémentera la variable i de deux en deux. Il est également envisageable d’adopter un pas négatif (dans ce cas, la valeur de départ du compteur doit être supérieure à celle d’arrivée).
Pour établir notre échéancier, notre boucle compteur nécessite la définition d’une variable de type Integer, que nous nommerons i. La valeur de départ du compteur sera 1 (la première échéance) et la valeur d’arrivée sera duree * 12, c’est-à-dire le nombre de mois (soit le nombre d’échéances) ; ainsi programmée, la boucle traitera successivement chaque échéance.
Calcul des échéances :
Le calcul de chaque échéance intègre le calcul :
- Des intérêts (variable interet) : les intérêts sont calculés en appliquant le taux de rémunération sur le montant du capital restant dû ; ce calcul sera programmé ainsi : interet=capitalrestant*taux/12.
- Du capital remboursé (variable capitalremb) : cet item est calculé en soustrayant les intérêts de l’échéance à la mensualité ; code-source : capitalremb=mens-interet
- Du capital restant à rembourser (variable capitalrestant) : calculé par soustraction entre le capital restant dû et le capital remboursé lors de l’échéance ; code-source : capitalrestant = capitalrestant – capitalremb
Les nouvelles variables introduites ci-avant sont déclarées en tête de programme :
Dim capitalrestant As Double Dim interet As Double Dim capitalremb as double
Il ne reste plus qu’à afficher le calcul de chaque échéance avec l’instruction PRINT.
Résultat du programme :
Le programme affiche l’échéancier. Dans la prochaine étape, nous verrons comment le mettre en forme…
Conclusion :
Après cette étape, vous savez maintenant programmer des problèmes de calcul simples.
Avez-vous des calculs que vous effectuez couramment manuellement que vous souhaiteriez automatiser ? Soumettez-les en commentaires ou par méls, nous y réfléchirons ensembles.
Code-source du programme à ce stade de l’initiation :
Le code-source fourni ci-après est téléchargeable (cf en bas d’article) :
'Calcul d'un échéancier d'emprunt 'Ecrit en basic sous FreeBASIC 'Par Benoît-René RIVIERE, www.auditsi.eu #include "string.bi" '---Déclaration des variables '------Paramètres emprunt Dim capital As Double Dim duree As Integer Dim taux As Double Dim mens As Double '------Variables diverses Dim i As Integer '------Variables emprunt mensualité Dim capitalrestant As Double Dim interet As Double Dim capitalremb as double '---Saisie des paramètres de l'emprunt Cls Color 11 Print "Calcul d'un échéancier d'emprunt" Print Color 15 Print "Saisissez les paramètres de l'emprunt :" Input "Capital emprunté : ",capital Input "Durée de l'emprunt en années : ",duree Input "Taux annuel : ",taux '---Calcul et affichage de la mensualité taux=taux/100 mens = (capital*taux/12) / (1-(1+taux/12)^-(duree*12)) Print "Mensualité : ";Format(mens,"0.00") '---Calcul, affichage et enregistrement de l'échéancier capitalrestant=capital For i=1 To duree*12 interet=capitalrestant*taux/12 capitalremb=mens-interet 'Affichage de la ligne en cours Print i ; " : ";Format(capitalrestant,"0.00");" - ";Format(interet,"0.00");" - ";Format(capitalremb,"0.00");" - ";Format(capitalrestant-capitalremb,"0.00") capitalrestant=capitalrestant-capitalremb Next i Sleep
Derniers articles parBenoît RIVIERE (voir tous)
- Nouveautés de l’interpréteur de formules de calcul (v1.1) - dimanche 3 novembre 2024
- Dématérialisation de la facturation : nouvelles mentions obligatoires - lundi 28 octobre 2024
- Interpréteur de formules de calcul en Python - dimanche 13 octobre 2024
- Les données de la facturation électronique - mercredi 9 octobre 2024
- VBA/SQL vs Power Query : deux solutions complémentaires - mercredi 2 octobre 2024
Pingback: EXCEL et VBA : Manipuler des plages de cellules dans des variables tableaux | Audit & Systèmes d'Information