Range("B1").FormulaLocal = "=SI(A1=1;2;0)" MsgBox Range("B1").Formula
Seulement je travail avec des variables string et j'aimerai savoir s'il existe une fonction ou une méthode qui permette de transformer une expression excel depuis la langue française vers le langage macro afin que je puisse évaluer des fonctions Excel rédigées en langue française.
Public Function Eval(X As String) ActiveSheet.[A1].FormulaLocal = X Eval = Evaluate(ActiveSheet.[A1].Formula) End Function
Public Function Eval(X As String) ActiveSheet.[A1].FormulaLocal = X Eval = ActiveSheet.[A1] End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionActiveSheet.[A1].FormulaLocal = X
Pourquoi tu cherches à connaitre son résultat avec Evaluate, plutôt que de reprendre directement sa valeur ?
méthode Evaluate()
le hic c'est qu'elle n'évalue uniquement des fonctions rédigées dans le langage de macro
Alors que la fonction excel macro
Code :
= IF(20>0;"C'est positif";"C'est nul ou négatif")
sera correctement évaluée par Evaluate().
Pourquoi tu n'utilises pas une colonne vide (ou sur un autre feuille créée pour l'occasion), pour copier la formule symbolique en remplaçant les éléments génériques par les références précises.
Ainsi tu obtiendras les résultats, sans problème d'interprétation (et sans "surcouche" par Evaluate, donc bien plus rapide).
Ensuite tu auras aussi bien plus de facilité pour générer les graphiques avec (puisque tu te retrouves dans une situation habituelle). De plus, la recherche des calculs impossibles (division par zéro par exemple) sera également beaucoup facilité.