XL 2016 Conversion Formule (texte) en résultat

Lolote83

XLDnaute Barbatruc
Bonjour à tous,
Je récupère sous format de chaine de caractère une formule et je souhaiterais avoir le résultat
J'ai simplifié ce code pour vous expliquer la situation.
Y-a-t-il une possibilité de calculer le résultat d'une formule sous forme de chaine. J'ai utilisé la fonction VAL, mais cela ne fonctionne pas
Mon cas de figure est plutôt dirigé sur la troisième partie ci-dessous
VB:
Sub TestFormule()
    'Partie 1 = La fonction VAL = OK
    x1 = "123.45"
    y1 = Val(x1)
 
    'Partie 2 = La fonction VAL = NON OK
    x2 = "12+(34*2)"
    y2 = Val(x2)

    'Partie 3 = La fonction VAL = NON OK
    x3 = "(C-32)/1.8"
    xValC = 12
    y3 = Replace(x3, "C", xValC)
    Z3 = Val(y3)
End Sub
Le but final était d'en faire une fonction personnalisée en fonction de la formule de départ.
Je tourne en rond.
Merci par avance
@+ Lolote83
 
Solution
Bonjour Lolote83, le forum

Essaye evaluate

Bien cordialement, @+
VB:
Sub TestFormule()
    'Partie 1 = La fonction VAL = OK
    x1 = "123.45"
    y1 = Val(x1)
 
    'Partie 2 = La fonction VAL = NON OK
    x2 = "12+(34*2)"
    MsgBox Evaluate("=" & x2)
   
    'Partie 3 = La fonction VAL = NON OK
    x3 = "(C-32)/1.8"
    xValC = 12
    MsgBox Evaluate("=" & Replace(x3, "C", xValC))

End Sub

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour Lolote83, le forum

Essaye evaluate

Bien cordialement, @+
VB:
Sub TestFormule()
    'Partie 1 = La fonction VAL = OK
    x1 = "123.45"
    y1 = Val(x1)
 
    'Partie 2 = La fonction VAL = NON OK
    x2 = "12+(34*2)"
    MsgBox Evaluate("=" & x2)
   
    'Partie 3 = La fonction VAL = NON OK
    x3 = "(C-32)/1.8"
    xValC = 12
    MsgBox Evaluate("=" & Replace(x3, "C", xValC))

End Sub
 

Discussions similaires

Réponses
1
Affichages
375
Réponses
0
Affichages
305

Membres actuellement en ligne

Statistiques des forums

Discussions
314 499
Messages
2 110 250
Membres
110 711
dernier inscrit
chmessi