Methode VB : Evaluate avec formule française

Doug -  
eriiic Messages postés 25847 Statut Contributeur -
Bonjour,

J'utilise la méthode "Evaluate" de visualbasic sous Excel afin de vérifier des formules excel issues de variables.

Le hic c'est que "Evaluate" considère comme OK uniquement les formules rédigée dans la langue des macros (en anglais).

Du coup si j'ai une variable contenant la formule, par exemple, " =SI(22>0;"Trop grand";"C'est OK") " , ben cela ne marchera pas.
Par contre la même formule en langage macro, c'est à dire en anglais : "IF(22>0;"Trop grand";"C'est OK") " sera évaluée correctement.

Existe-t-il un moyen de transformer en anglais une formule française contenue dans une variable sans passer par une cellule avec les propriétés "Formula" et "FormulaLocal" ?

Merci de votre aide

A voir également:

2 réponses

eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonsoir,

A part transiter par une cellule je ne vois pas :
Dim formule As String
[A1].FormulaLocal = "=SI(22>0;""Trop grand"";""C'est OK"")"
formule = [A1].Formula
mais tant qu'à faire autant mettre la formule directement dans la cellule.

transformer en anglais une formule française contenue dans une variable
personnellement je n'ai pas réussi à mettre une formule en tant que telle (exploitable donc) dans une variable, seulement son texte.
Si tu sais je serais curieux de savoir comment.

eric
0
Doug
 
Bonjour,
Merci de votre réponse.
Oui j'y avais bien pensé.
Le truc, c'est que j'essaie d'optimiser le code car il y a deux grandes boucles dedans, et l'utilisation de la hiérarchie d'objets ralenti de façon conséquente le résultat final.
Les formules sont générées dynamiquement à partir de différentes sources de données et c'est pour cela que je ne travaille pas avec des cellules.

Eric : personnellement je n'ai pas réussi à mettre une formule en tant que telle (exploitable donc) dans une variable, seulement son texte.
Si tu sais je serais curieux de savoir comment.


En effet, moi non plus. Désolé, je faisais un abus de langage. Je travaille effectivement avec des variables de type string.

Voilou ^^
Donc pas d'autre idée ???
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Ben à part préparer toutes tes formules en anglais dans un tableau (à la limite en les récupérant d'une plage d'une feuille pour avoir la traduction plus facilement) en début de programme je ne vois pas non...
eric
0