[VBA] utiliser texte EXCEL comme fonction VBA

Résolu/Fermé
mndmvieira Messages postés 2 Date d'inscription samedi 19 décembre 2009 Statut Membre Dernière intervention 21 décembre 2009 - 19 déc. 2009 à 18:37
 mndmvieira - 20 déc. 2009 à 00:15
Bonjour,

J'essaye d'utiliser une chaîne de caractères stockée dans une cellule excel comme fonction VBA.

Exemple:
- Cellule A2 (MODIFIABLE) contiens le texte: ln(x) - sin(x) - 1

J'ai besoin de créer une fonction VBA qui utilise ce texte de la cellule A2 pour donner le résultat de la fonction à un x donné.

J'ai essayé le suivant mais ca ne marche pas:

Function F(x As Double) As Double
F = Range("A2").Text
End Function

Ca donne l'erreur "Type Dismatch" car F doit recevoir un double et pas un string... mais comment convertir le texte en formule pour calculer sa valeur en x??

Merci d'avance pour vos réponses!!
A voir également:

1 réponse

Salut,

Une piste
Function F(val As String) As Double
  Dim s As String
  s = Replace(Range("A1"), "ln", "log")
  F = Evaluate(Replace(s, "x", Replace(val, ",", ".")))
End Function
1
Merci d'avoir répondu si rapidement!

Votre solution marche très bien!

Encore merci!
0