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)

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 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) = .....

Alors si quelqu'un peut m'aider, cela serait grandement apprecier.

Merci beaucoup de votre aide