Bonjour à tous,
Je débute en VBA et je me retrouve confrontée à un problème :
Mon but final est d'afficher un arbre binomial qui représente le pricing d'une option financière.
J'ai créé un userform qui permet d'entrer les variables de mon prix et qui donne un prix à l'option, ça fonctionne.
J'ai ensuite mis un bouton (affichergraph) qui devrait permettre d'afficher l'arbre binomial.
Mon problème est que ça ne fonctionne pas :
Lorsque je mets seulement
Ca marche, j'ai bien mon userform qui disparait et ma page qui s'affiche mais dès que je rentre le reste du code (ci dessous) ça ne fonctionne pas. Rien ne se passe, je n'ai meme pas de message d'erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub affichergraph_Click() Financial_Options.Hide sheets("Options tree").Activate End Sub
Merci beaucoup pour votre aide,
Noémie
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
52
53
54
55
56
57
58
59 Private Sub affichergraph_Click() Dim i As Integer Dim j As Integer Dim a As Integer Dim b As Integer N = Nbstep.Value u = Exp(Volatilite.Value / 100 * (Time() / Nbstep.Value) ^ (1 / 2)) S = Spot.Value d = 1 / u K = Strike.Value If CallButton.Value = True Then TypeOption = "Call" Else TypeOption = "Put" CP = callput(TypeOption) For i = 0 To N sheets("Options tree").Cells(1, i + 2).Value = i For j = 0 To i St = S * u ^ (i - j) * d ^ j If (St - K) > 0 Then prix = CP * (St - K) Else prix = 0 sheets("Options tree").Cells(j + 2, i + 2).Value = St sheets("Options tree").Cells(4 + N + j, N).Value = prix Next j Next i For a = N - 1 To 0 For b = a To 0 If sheets("Options tree").Cells(4 + N + b, a + 2).Value <> 0 _ Then sheets("Options tree").Cells(4 + N + b - 1, a + 1).Value = _ (sheets("Options tree").Cells(4 + N + b, a + 2).Value * d + sheets("Options tree").Cells(4 + N + b - 1, a + 2).Value * u) * Exp(r * Time()) _ Else sheets("Options tree").Cells(4 + N + b, N).Value = 0 Next b Next a Financial_Options.Hide sheets("Options tree").Activate End Sub
Partager