Fonctions personnalisées et boucles dans vba

marie -  
 le père -
Bonjour,

Function AA(Vl As Variant, sigma As Double, mu As Double, datevalo As Date, datecheance As Date) As Variant
Dim pas As Single
Dim delta As Variant
Dim normu As Variant
Dim norsigma As Variant
Dim normsimule As Variant
Dim j As Integer
pas = 7 / 365
delta = (datecheance - datevalo) / 7
normu = (mu - 0.5 * sigma ^ 2) * pas
norsigma = sigma * Sqr(pas)
For j = 1 To delta
Randomize
normsimule = Application.NormSInv(Rand)
Vl = Vl * Exp(normu + normsimule * norsigma)
Next j
AA = Vl
End Function

quelqu'un peut m'expliquer pourquoi ça marche pas !!!
merci d'avance

9 réponses

le père
 
Bonjour

Si tu disais ce qui ne marche pas : message d'erreur, résultat erronné, etc... ça pourrait aider
0
marie
 
merci pour votre réponse père
il m'affiche valeur! dans la page d'excel lorsque je fais =AA(j'ai mis les variables d'entrée)!!!
0
marie
 
exactement #VALEUR! dans excel
0
marie
 
coucou père j'attends votre rèponse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le père
 
j'ai mis les variables d'entrée
Il y a bien 5 valeurs séparées par des ; ? chez moi ça marche - après avoir remis Rnd à la place de Rand

Au fait, ce n'est pas une bonne idée de mettre randomize à l'intérieur d'une boucle
0
marie
 
merci père pour votre réponse
en fait, je pense que si on appelle pas randomize avant Application.NornSInv, la méme série des valeurs pseudo-aléatoires seront rétournés??? que ce que vous en pensez???
0
le père
 
que ce que vous en pensez???

Je te conseille de te faire une opinion ou mieux, une connaissance, toi-même en lisant l'aide des fonctions Randomize et Rnd.

Ce qui n'empêche qu'il est inutile de faire un Randomize à l'intérieur d'une boucle : un seul Randomize avant le for suffit.
0
marie
 
je voie père merci à vous
mais comment je peux changer le statut pour mettre problème résolu??
0
le père
 
je ne sais pas non plus, il faut peut-être être membre inscrit ?
0