Bonjour

je souhaite effectuer une simulation sur excel 2007 à partir d'un produit structuré.

J'ai trouvé sur un livre, un code cependant lorsque je veux lancer l'application il est inscrit : "Argument ou appel de procédure incorrect"

l'erreur est présente dès la première ligne

voici le code :

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Sub CPPI()
 
 
    ' Paramétrage du sous-jacent
    S0 = 100
    mu = -0.08
    sigma = 0.3
 
    ' Monétaire
    rf = 0.03
 
    Plancher = 90
    Tolérance = 0.3
    Mstar = 20
 
    ' Paramètres de simulation
    Nb_Points = 252
    dt = 1 / Nb_Points
    Nb_Simuls = 1
    ReDim Perf(Nb_Simuls, 1) As Double
    ReDim Valo(Nb_Points, 1) As Double
    ReDim cours(Nb_Points, 1) As Double
    ReDim pourcent_actions(Nb_Points, 1) As Double
    ReDim couss(Nb_Points, 1) As Double
 
 
    For i = 1 To 1
 
 
 
        coussin = S0 - Plancher
        Position_Actions = Mstar * coussin
        Position_Obligs = S0 - Position_Actions
        Valo_Position = S0
 
        Spot = S0
 
        For j = 1 To Nb_Points
 
            Taux_Renta = Taux_Renta_Action(mu, sigma, dt)
            Spot = Spot * Exp(Taux_Renta)
            Position_Actions = Position_Actions * Exp(Taux_Renta)
            Position_Obligs = Position_Obligs * Exp(rf * dt)
            Valo_Position = Position_Actions + Position_Obligs
            pourcent_actions(j, 1) = Position_Actions / Valo_Position
            Valo(j, 1) = Valo_Position
            cours(j, 1) = Spot
            coussin = Valo_Position - Plancher
            couss(j, 1) = coussin
            Multiple = Position_Actions / coussin
 
            If Multiple >= Mstar * (1 + Tolérance) Or Multiple <= Mstar * (1 - Tolérance) Then
                Position_Actions = Mstar * coussin
                Position_Obligs = Valo_Position - Position_Actions
            End If
        Next j
 
 
    Perf(i, 1) = Valo_Position
    Next i
'    Worksheets("Feuil1").Activate
'    Range(Cells(2, 1), Cells(Nb_Simuls + 1, 1)).Value = Perf
'    Call Noyau.Noyau_Gaussien
Worksheets("Feuil2").Activate
Range("A1:A252").Value = Valo
Range("B1:B252").Value = cours
Range("C1:C252").Value = pourcent_actions
Range("D1:D252").Value = couss
 
End Sub
Function Taux_Renta_Action(mu, sigma, dt)
    epsilon = WorksheetFunction.NormSInv(Rnd)
    Taux_Renta_Action = (mu - sigma ^ 2 / 2) * dt + sigma * epsilon * Sqr(dt)
End Function
Cependant dans le fichier il y a 4 modules et ca c'est seulement le premier.

Merci pour votre aide!!!!!!!