Excel: entrer des formules en anglais avec Excel en français

Résolu
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 - 1 juin 2008 à 08:34
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 - 1 juin 2008 à 14:40
Salut,

Je genère un document Excel à partir d'un programme C#. Dans ce document, il y a des formules. Comment entrer ces formules dans mon code C# pour que:
-si le programme tourne sur un pc avec un Excel Fr, alors ça génère les formules en fr
-si le programme tourne sur un pc avec un Excel anglais, alors ça génère les formules en anglais?

Si je fais

string formule = "=NB(A1:A10)";
_currentWorkSheet.Cells[1, 1] = formule;
Alors ça marche sur mon pc qui a les paramètres régionaux à FR, mais ça ne marche pas sur un pc dont les paramètres sont mis à Anglais.

Mais si je fais


string formule = "=Count(A1:A10)";

_currentWorkSheet.Cells[1, 1] = formule;
alors, ça ne marche pas sur mon pc avec paramètres fr (ça me genère une exception COM)

J'ai aussi essayé, sans succès:

((Excel.Range)_currentWorkSheet.Cells[1, 1]).Formula = formule; (exception COM si la formule est en anglais sur mon pc fr)

et

((Excel.Range)_currentWorkSheet.Cells[1, 1]).FormulaLocal = formule; (pas d'exception, mais Excel ne reconnaît pas la formule et m'affiche #NOM? dans la cellule si la formule est en anglais)

Dans l'idéal, je voudrais pouvoir rentrer la formule en anglais dans mon code et qu'excel se charge du reste.

Quelqu'un a une idée?
Merci
A voir également:

2 réponses

WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
1 juin 2008 à 14:40
J'ai trouvé:

Il faut d'abord mettre la culture du thread en anglais US (pas NZ, GB ou autre! US!), puis écrire la formule an anglais, et finalement l'intégrer comme ça:

((Excel.Range)_currentWorkSheet.Cells[rowIndex, colIndex]).Formula = formula;

Puis après Excel se charge de traduire la formule si il n'est pas installé en anglais.
3
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
1 juin 2008 à 08:37
J'ai aussi essayé de jouer avec la culture du thread courant, mais sans grand succès non plus.
0
Rejoignez-nous