fonction excel sous VBA

L

leprince

Guest
bonjour,

mon probleme est tres simple mais j'arrive pas a le resoudre.

l'aide excel-vba m'affirme que l'on peut faire appel a des fonctions Excel (pour ma part Ln et Lngamma) en les codant : Application.fonction.

j'ai meme acces a un bel exemple mais il continue a me dire qu'il ne reconnait pas la fonction

quelqu'un peut il m'aider svp merci
 
A

albert

Guest
bonjour leprince,

je joins un exemple, j'espère que ça ira

Colonne B il y les LN()
Outil/macro/nouvelle macro
Clic sur B1
La formule apparît dans la barre au-dessus.
Cliquer devant =
Entrée…

Maintenant, tu regardes le code

Range("B1").Select
ActiveCell.FormulaR1C1 = "=LN(RC[-1])"
Range("B2").Select
End Sub

La formule Excel est traduite en vba


albert
 

Pièces jointes

  • traduction.zip
    5.1 KB · Affichages: 133
  • traduction.zip
    5.1 KB · Affichages: 128
  • traduction.zip
    5.1 KB · Affichages: 133
L

leprince

Guest
merci pour vos reponses mais j'apporte un petite precision :

la commande application.ln(valeur) fonctionne tres bien (donc l'aide est bonne tout au moins a moitie)
le problèle est qu'il ne reconnait pas la commande application.lngamma alors que cette fonction excel est sensée etre applicable sous VBA dixit l'aide.

je vaois essayer ta solution albert, je vous tiens au courant
 
A

Arnaud

Guest
haaaa ok. effectivement, Lngamma ne fais pas partie des fonction utilisable sous vba ( enfin apparement )
sinon effectivement, la solus d'albert peut te permettre de "magouiller" pour avoir ta solus:

dim Buffer as Double
Range("II9999").FormulaR1C1 = "=GAMMALN(10)"
Buffer = Range("II9999").Value
Range("II9999").FormulaR1C1 = ""
 
L

leprince

Guest
problème resolu : en fait c'était un bug de merde, il faut appeler les fonctions excel sous leur nom anglais et pas leurt nom sous version francaise : lngamma devenait donc gammaln.
seulement comme leur exemple est pas de la plus pur representativité, je suis legerement passe a cote

je m'en souviendrais
 
L

leprince

Guest
c'est le retour du (presque) meme pb

cette fois je n'essaie meme pas de mettre le nom francais
quelqu'un sait -t-il comment traduire en langage qui marche en VBa la commande loi.normale.inverse
en gros je cherche quoi mettre a la place de ("fonction") dans la commande VBa
application.("fonction")
merci
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 331
Membres
103 519
dernier inscrit
Thomas_grc11