Bonjour,
ci dessous c'est vraiment pas un code mais je voudrai en ecrire un qui obéit a l'algorithme ci dessous
aidez moi svp
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
46
47
48
49
50
51 Sub essai() 'date d'echéance Dim a, alpha, j, beta As Double a = Cells(i, 8).Date 'se sont les dates d'echeances qui sont stockeés a la colonne H A partir de la ligne 5 Cells(2, 1) = aujourdhui alpha(i) = (a - Cells(2, 1).Data) / 360 'nombre d'année entre la date d'echeance et aujourd'hui beta(i) = Int(alpha(i)) + 1 'date du premier coupon d(i) = Cells(i, 10).Date 'ce sont des dates qui existent en colonne J nbredejour(i) = d(i) - Cells(2, 1) 'nombre de jours ENTRE AUJOURDHUI et la date du premier coupon 'soit la variable x qui est égale : le nombre de jours /30 Dim x As Double Dim t1, t2 As Integer x(i) = d(i) - Cells(2, 1) t1(i) = Int(x) 'partie entiere de x t2(i) = x1 + 1 j(i) = (x(i) - t1(i)) * 30 'calcul du nombre de jours compris dans x mois ' definir p1 Dim p1 As Double p1 = x / 12 For i = 2 To beta p(i) = p1 + (i - 1) 'les p(i) sont des valeurs en exposant dans ma formule Next i 'calcul des T(i) For i = 1 To beta T(i) = (j(i) * (Sheets("Feuil2").Cells(t2(i) + 11, 7).Value + 12 * (i - 1)) + (30 - j(i)) * (Sheets("Feuil2").Cells(t1(i) + 11, 7).Value + 12 * (i - 1))) / 30 Next i 'calcul de la valeur spot c'est une somme pour i=1 à beta de tf/(1+T(i))^P(i)+100/(1+T(beta))^P(beta) Dim Pspot As Double Pspot = 0 'la je veux ecrire une boucle for jusqu'a la derniere ligne non vide For i = 1 To beta Pspot = tf / (1 + T(i)) ^ p(i) + 100 / (1 + T(i = beta)) ^ p(i = beta) Pspot = Pspot + 1 Next i 'enfin je veux retourner Pspot dans chacune des cellules de la colonne L 'en fait Pspot est une somme que je calculer pour chaque valeur de beta et mettre le resultat de cette somme dans une cellule a la colonne L 'sachant bien que les dates d'echeances changes donc modifient les calculs End Sub
merci d'avance
Partager