[VBA] utiliser texte EXCEL comme fonction VBA

Résolu
mndmvieira Messages postés 2 Statut Membre -  
 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!!
Configuration: Windows XP
Firefox 3.0.16

1 réponse

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

      Votre solution marche très bien!

      Encore merci!
      0