Function MC_Eur(TypOp, S, K, r, sigma, T, N)
Dim Resultat(3), z, i, epsilon, ST1, ST2 As Double
z = switch(TypOp)
ReDim Prix(2 * N) As Double
For i = 0 To N - 1
Randomize
epsilon = WorksheetFunction.NormSInv(Rnd)
ST1 = S * Exp((r - 0.5 * sigma ^ 2) * T + _
sigma * epsilon * Sqr(T))
ST2 = S * Exp((r - 0.5 * sigma ^ 2) * T + _
sigma * (-epsilon) * Sqr(T))
Prix(i) = Exp(-r * T) * _
WorksheetFunction.Max(z * (ST1 - K), 0)
Prix(N + i) = Exp(-r * T) * _
WorksheetFunction.Max(z * (ST2 - K), 0)
Next i
Resultat(1) = WorksheetFunction.Average(Prix)
Resultat(0) = Resultat(1) - 1.96 * WorksheetFunction. _
StDev(Prix) / Sqr(2 * N)
Resultat(2) = Resultat(1) + 1.96 * WorksheetFunction. _
StDev(Prix) / Sqr(2 * N)
MC_Eur = Resultat
End Function