Fonctions personnalisées et boucles dans vba

Fermé
marie - 8 janv. 2008 à 17:45
 le père - 9 janv. 2008 à 11:47
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

Bonjour

Si tu disais ce qui ne marche pas : message d'erreur, résultat erronné, etc... ça pourrait aider
0
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
exactement #VALEUR! dans excel
0
coucou père j'attends votre rèponse
0

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

Posez votre question
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
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
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
je voie père merci à vous
mais comment je peux changer le statut pour mettre problème résolu??
0
je ne sais pas non plus, il faut peut-être être membre inscrit ?
0