probleme de range dans une fonction

  • Initiateur de la discussion alex1205
  • Date de début
A

alex1205

Guest
bonjour,

je cherche a faire un calcul de volatilite (ecart type * racine carre du temps passe) qui fonctionne dans une boucle.

la syntaxe suivante fonctionne:

Range('E' & (3 + i)) = '=((StDev(D' & (3 + i) & ':D' & (k + 3) & ')))*sqrt(' & k - i & ')'

mais cela laisse apparaitre a l'ecran la formule.
je souhiate faire en corte que les formules n'apparaissent pas.

j'ai donc essaye avec worksheetfunction la syntaxe suivante:

Range('E' & (3 + i)) = WorksheetFunction.StDev((Range(('D' & (3 + i)), ('D' & (k + 3))) *sqrt(' & k - i & ')'

a noter pour la racine carre j'ai egalement tente avec sqr (et non sqrt) et cela n'a rien donne

une fois la macro lancee j'ai droit a un belle erreur et une invite de bug...
pourriez vous m'aider dans la syntaxe svp?

merci
 

G.David

XLDnaute Impliqué
il y a une fonction ecartype(Xn:X1n1) pour trente arguments dans les fonctions feuilles
pour que la formule n'apparaisse pas lorsque tu protège ta feuille il suffit de cocher la case verouillee et la case masquee dans format cellule protection
Cordialement
G.David
 
A

alex1205

Guest
merci de ta reponse

je travaille sur un excel/vba anglais, je pense que la fonction est la meme que celle que tu indiques (sauf que je l'utilise pour bcp plus que 30 variables)

je vais voir avec l'option que tu m'as propose ce que cela donne.
si tu penses a un moyen d'ecrire differement ma formule je suis aussi preneur , ca me fera progresser :)

merci

+++
Alex
 
M

michel_m

Guest
bonjour Alex Gdavid


dans ton code écris:
Range(\\'E\\' & (3 + i)) = Application.WorksheetFunction.StDev((Range((\\'D\\' & (3 + i)), (\\'D\\' & (k + 3)))
*sqrt(\\' & k - i & \\')\\'

worksheetfunction dépendant de l'objet application.

Michel (at work)
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 355
Membres
103 528
dernier inscrit
hplus