Pb VBA/Excel

[Résolu]
Signaler
Messages postés
4
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
30 juillet 2008
-
Messages postés
4
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
30 juillet 2008
-
[E:\Formule_A_Developper.JPG Formule]
 à developper:



 
<?xml:namespace prefix = v /??><v:shapetype id="_x0000_t75" body="" c<="" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">Nk suit une loi de Poisson de paramètre lambda=3<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>

Xj suit une loi Lognormale de paramètres mu=8 et sigma=1,2

J’ai développé une fonction VBA/Excel suivant :

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

Function Calc_Simul(N As Integer) As Double

 

'N : nb iterats

 

Dim Nk As Double

Dim X As Double

Dim A As Double

 

' N = 250

Lam = 3

Mu = 8

Sig = 1.2

Calc_Simul = 0

 

For k = 1 To N

    Nk = WorksheetFunction.Loi.Poisson(Rnd(), Lam, vrai)

    If Nk <> 0 Then

        For j = 1 To Nk

            X = X + WorksheetFunction.LogNormDist(Rnd(), Mu, Sig)

        Next j

        Else: X = 0

    End If

    A = A + X

Next k

    Calc_Simul = A

   

End Function

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

 

Mais lorsque j’exécute ce programme dans Excel j’obtiens : #ERREUR !

Merci de m’aider à résoudre ce pb.

Merci d'avance.
Crdt,
MEDI95

</v:shapetype>

7 réponses

Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonjour,

Forcément :
WorksheetFunction.Loi.Poisson(Rnd(), Lam, vrai)
n'existe pas !

mais la syntaxe :
WorksheetFunction.Poisson(Rnd(), lam, True)

ensuite, je ne regarde pas sur le fond, mais cela me parait être très juste non plus...

Amicalement,
Us.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
thème topic : déplacé de VB6 vers VBA
Messages postés
4
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
30 juillet 2008

Salut US,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Merci bcp pour votre ide mais  j’avais corrigé auparavant cette erreur mais mon pgrm ne tourne tjs pas !


Peux-tu m’indiquer stp d’autre pistes ou une autre façon de programmer cette formule en VBA/Excel ?



 




Merci d’avance.


<?xml:namespace prefix = v /??>
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" c<="" body="">

Très amicalement,
MEDI</v:shapetype>
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
bah... l'ennui c'est que je ne vois pas ce qu'il est sensé faire... C'est même pour ça que le fond ne me semblait pas très juste...

Amicalement,
Us.
Messages postés
4
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
30 juillet 2008

le but c'est de pricer la formule "A", je l'ai fais avec Scilab (logiciel comme Matlab) ca marche bien mais avec Excel/BVA  j'ai des petits soucis!
J'essaie de le corriger aujourd'hui.

Merci.
Très amicalement,
MEDI
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
"pricer" ? ... ah, bon...

Amicalement,
Us.

PS : Dans Google, pour "pricer formule" j'obtiens "Leader Price"...
Messages postés
4
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
30 juillet 2008

Pour moi "pricer" c'est programmer une formule mathématique en utilisant un langage informatique: Excel, Scilab, Matlab, C/C++, C#, ...etc.

Amicalement,
MEDI