Bonjour,
Il s'agit d'un petit programme de débutant et j'éprouve quelques difficultées avec la boucle For de mon programme. Comme j'ai de la difficulté à trouver les mots afin que vous compreniez bien mon problème, je vais mettre mon code ici et j'aimerais bien que vous essayeriez mon code afin de comprendre son ambiguité: (Ma question se retrouve a la fin)
---> Alors j'aimerais que vous regarder sur la feuille Excel dans la colonne B. Mes chiffres de B0, B1 sont bons malheureusement dès B2 ils ne le sont plus simplement car je dois trouver une facon que mon programme utilise le TauxIntérêtEstimé precedent ( Ainsi, pour avoir le bon taux d'interet pour B2, il faudrait que j'utilise le taux trouver a la cellule B1 mais je ne sais pas comment faire )pour le calcul qui suit les mots suivant Range("B1").Offset(Itération, 0) = .....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 Public Sub NewtonRaphson() 'Déclaration des variables utilisées par notre programme Dim ValeurNominale As Double Dim ValeurDeRemboursement As Double Dim TauxIntérêtCoupons As Double Dim DuréeDeVieObligation As Double Dim PrixObligation As Double Dim TauxIntérêtEstimé As Double Dim RendementObligation As Double Dim Itération As Integer 'Permet la saisie de données nécessaire afin d'exécuter le programme correctement ValeurNominale = InputBox("Veuillez entrer la valeur nominale de votre obligation. Par exemple: 100") ValeurDeRemboursement = InputBox("Veuillez entrer la valeur de remboursement de votre obligation. Par exemple: 100") TauxIntérêtCoupons = InputBox("Veuillez entrer le taux d'intérêt de vos coupons. Par exemple: 0.08") DuréeDeVieObligation = InputBox("Veuillez entrer la durée de vie de votre obligation. Par exemple: 6") PrixObligation = InputBox("Veuillez entrer le prix de votre obligation. Par exemple: 90") 'k 'Permet de calculer le "rendement" de l'obligation RendementObligation = (PrixObligation - ValeurDeRemboursement) / ValeurDeRemboursement 'i0 'Notre première valeure du taux d'intérêt estimée 'Notez que le numérateur correspond à la portion moyenne d'intérêt dans chaque coupon 'Notez que le dénominateur correspond au montant moyen investi à chaque période TauxIntérêtEstimé = (TauxIntérêtCoupons - (RendementObligation / DuréeDeVieObligation)) / (1 + (((DuréeDeVieObligation + 1) * RendementObligation) / (2 * DuréeDeVieObligation))) 'Itération de Newton For Itération = 0 To 250 'Ecrit le numéro de l'itération dans la feuille de calcul Range("A1").Offset(Itération, 0) = Itération 'Ecrit le TauxIntérêtEstimé dans la feuille de calcul Range("B1").Offset(Itération, 0) = TauxIntérêtEstimé * (1 + (((TauxIntérêtCoupons * ((1 - ((1 + TauxIntérêtEstimé) ^ (-DuréeDeVieObligation))) / (TauxIntérêtEstimé))) + ((1 + TauxIntérêtEstimé) ^ (-DuréeDeVieObligation)) - (PrixObligation / ValeurDeRemboursement)) / (((TauxIntérêtCoupons * ((1 - ((1 + TauxIntérêtEstimé) ^ (-DuréeDeVieObligation))) / (TauxIntérêtEstimé))) + (DuréeDeVieObligation * (TauxIntérêtEstimé - TauxIntérêtCoupons) * ((1 + TauxIntérêtEstimé) ^ (-(DuréeDeVieObligation + 1)))))))) Next Itération End Sub
Alors si quelqu'un peut m'aider, cela serait grandement apprecier.
Merci beaucoup de votre aide
Partager