Bonjour,

je cherche à effectuer un calcul basé sur le principe de Monte Carlo, avec une moyenne connue d'avance et un écart type spécifié par l'utilisateur (userform qui s'ouvre à l'ouverture du classeur Excel) mais le calcul de la DCF (ci-dessous) ne s'affiche pas sur Excel quand on lance la boucle :s
Merci d'avance pour votre aide


Code vba : 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
Option Explicit
 
Function DCF(WACC As Double, RG As Double, MBE As Double, CA As Double, CAPEXRev As Double)
Dim rnd() As Double
 
Dim FCF As Double
Dim k As Integer
Randomize
 
    With ActiveWorkbook
 
        WACC = Application.WorksheetFunction.NormInv(rnd(), .Sheets("Parameters").Range("E18").Value, Userform1.a.Value())
        RG = Application.WorksheetFunction.NormInv(rnd(), .Sheets("Parameters").Range("E19").Value, Userform1.b.Value())
        MBE = Application.WorksheetFunction.NormInv(rnd(), .Sheets("Parameters").Range("E20").Value, Userform1.c.Value())
        CA = Application.WorksheetFunction.NormInv(rnd(), .Sheets("Parameters").Range("E21").Value, Userform1.d.Value())
        CAPEXRev = Application.WorksheetFunction.NormInv(rnd(), .Sheets("Parameters").Range("E22").Value, Userform1.e.Value())
    End With
 
    FCF = MBE * CA * (1 - 0.33) - CAPEXRev * CA
 
'For k = 1 To 100
    DCF = FCF / (WACC - RG)
 
'k = k + 1
'DCFfinal = Average
'Next
 
End Function