Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
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
437
Réponses
0
Affichages
359
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…