Vba excel

Sara -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je travaille avec Excel. J'aimerais qu'excel me place une formule dans une case, du coup je mets ce code:

Sheets("EVALUATION").Select
Range("E15").Select
ActiveCell.FormulaR1C1 = "=B10*NORMDIST(((LN(B10/B11)+(B12+(0.5*(B15*B15)))*B14)/(B15*SQRT(B14)));0;1;TRUE)-B11*EXP(-B12*B14)*NORMDIST(((LN(B10/B11)+(B12+(0.5*(B15*B15)))*B14)/(B15*SQRT(B14))-B15*SQRT(B14));0;1;TRUE)"

Théoriquement hyper easy donc...
Mais quand j'essaye de faire tourner l'application, j'ai l'erreur suivante:

Run-time error '1004':
Application-defined or object-defined error

La je clic "Debug", et il m'affiche la partie ci-après en jaune:

ActiveCell.FormulaR1C1 = "=B10*NORMDIST(((LN(B10/B11)+(B12+(0.5*(B15*B15)))*B14)/(B15*SQRT(B14)));0;1;TRUE)-B11*EXP(-B12*B14)*NORMDIST(((LN(B10/B11)+(B12+(0.5*(B15*B15)))*B14)/(B15*SQRT(B14))-B15*SQRT(B14));0;1;TRUE)"

Merci!

1 réponse

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Tu as le choix entre la formule anglaise avec des virgules en séparateur d'arguments :
ActiveCell.Formula = "=B10*NORMDIST(((LN(B10/B11)+(B12+(0.5*(B15*B15)))*B14)/(B15*SQRT(B14))),0,1,TRUE)-B11*EXP(-B12*B14)*NORMDIST(((LN(B10/B11)+(B12+(0.5*(B15*B15)))*B14)/(B15*SQRT(B14))-B15*SQRT(B14)),0,1,TRUE)"

et la formule française avec des point-virgules en séparateur d'arguments :
ActiveCell.FormulaLocal = "=B10*LOI.NORMALE(((LN(B10/B11)+(B12+(0,5*(B15*B15)))*B14)/(B15*RACINE(B14)));0;1;VRAI)-B11*EXP(-B12*B14)*LOI.NORMALE(((LN(B10/B11)+(B12+(0,5*(B15*B15)))*B14)/(B15*RACINE(B14))-B15*RACINE(B14));0;1;VRAI)"
0