[VBA] utiliser texte EXCEL comme fonction VBA

Résolu
mndmvieira Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 mndmvieira -
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

lami20j
 
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
mndmvieira
 
Merci d'avoir répondu si rapidement!

Votre solution marche très bien!

Encore merci!
0