Programmation du calcul d'une obligation classique
vivelovalie
Messages postés2Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention25 octobre 2006
-
25 oct. 2006 à 11:06
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
25 oct. 2006 à 14:03
Salut à tous,
Voila je suis debutant en programmation VBA (et encore plus en VB6 !!!), j'ai un exercice financier à résoudre qui ce formule ainsi :
" Soit une obligation classique de valeur faciale F, de maturité n, délivrant un coupon périodique C. La relation entre son prix P et son taux de rendement actuariel R est :
P
=
n SIGMA)
k
=1
C/
(1 +
R
)^
k
+
F/
(1 +
R
)^
n
Ecrire (1) un programme VB, et (2) une macro VBA sous Excel, calculant
P
en fonction de
n
,
C
,
F
et
R
."
Pour etre franc je rame !!!, Si l'un d'entre vous prennez un peu de son temps pour tenter de m'expliquer la demarche à suivre je lui en serais trés reconnaissant (c'est deja ca non ? ).
Surtout n'hésitez pas à me parler comme à un enfant, je voudrais surtout comprendre la logique (notamment des boucles)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 25 oct. 2006 à 11:34
Déjà pour commencer ta formule C/ (1 + R )^ k + F/ (1 + R )^ n est à proiri correcte au niveau syntaxe de vb
Ensuite tu fait une somme (sigma) de résultats, donc il te faut une variable pour stocker cette somme au fur et à mesure du calcul. On va l'appeller result et l'initialisée à 0 au départ. Ensuite à chaque calcul on va rajouter à ce résultat, le resultat du calcul de la formule.
Ensuite tu fait le calcul pour un indice k allant de 1 à n, ce qu'on appelle une itération et qui se code avec une boucle For.
Ca donnerait donc :
'Initialisation du résultat
result = 0
'Boucle d'itération
For k = 1To n
'calcul de la formule pour cet item et ajout au résultat déja calculé
result = result + (C / (1 + R) ^ k + F / (1 + R) ^ n)
Next
'Fin de la boucle, affichage du résultat final
MsgBox result
Coloration syntaxique automatique [Sevyc64]
---- Sevyc64 (alias Casy) ----<hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
vivelovalie
Messages postés2Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention25 octobre 2006 25 oct. 2006 à 13:44
Merci beaucoup pour la rapidité de ta réponse, en plus tu me rassure c'est plus ou moins la formule que j'avais envisagé (ouf !!! )
cependant je continue de t'embetter encore un peu ...
Que ve tu dire par " formule C/ (1 + R )^ k + F/ (1 + R )^ n est à proiri correcte au niveau syntaxe de vb" ?
Est-ce que Vb ne comprend pas ce type de formule et dans ce cas à quoi devrait ressembler mon calcul ?