Excel Anglais vs Français

Le
Sylvain Branchu
Bonjour à toutes et à tous,
je viens de recevoir un fichier Excel de mes collègues britanniques, le p=
b c'est qu'il contient des macros monstrueuses de plusieurs milliers de lig=
ne avec un paquet de ligne du type : Range("H25").FormulaArray = "=IF(S=
UM((SOV!$J$15:$J$20000=RiskType)*(SOV!$AB$15:$AB$20000=""No""))>=1,1,=
SUM(IFERROR((Tbl_TradeList[Trade Description]=xdt_PrimaryTrade)*(Tbl_Trad=
eList[Future Sprinkler Coeff]-1),0))+1)"

forcément mon excel Français ne connait pas les fonctions SUM, IF
Est-il possible, par macro de le convertir en anglais ?

En cherchant j'ai trouvé des trucs comme Application.LanguageSettings.Lan=
guageID(msoLanguageIDUI), mais je ne maîtrise pas

Merci de votre aide,

SB
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26264132
Bonjour,

Si les formules dont tu parles sont écrites en anglais dans le code d'un module, il n'y a aucune raison pourquoi Excel ne
fait pas la traduction de ces formules en français au niveau de la feuille de calcul, car même dans une version française,
dans l'environnement VBA, tout se passe en anglais, le nom des fonctions en usage sont en anglais et le réparateur d'argument
est la virgule au lieu du point virgule normalement utilisé en français. Ça, c'est le comportement normal d'Excel.

Les seules fonctions qui pourraient être problématiques ce sont celles des versions antérieures à Excel 2007 et qui relèvent
de la macro complémentaire "utilitaire d'analyse". Excel ne fait pas la traduction automatique de ces fonctions d'une langue
à l'autre.

Qu'est-ce qui se passe lorsque tu exécutes la macro? Est-ce que les formules sont copiées dans les cellules? Qu'est-ce que la
cellule affiche? As-tu un ou des messages d'erreur?

As-tu vérifié, est-ce qu'Excel est en mode de calcul manuel ou automatique?
Sylvain Branchu
Le #26264422
Le samedi 12 juillet 2014 14:12:08 UTC+2, MichD a écrit :
Bonjour,



Si les formules dont tu parles sont �crites en anglais dans le co de d'un module, il n'y a aucune raison pourquoi Excel ne

fait pas la traduction de ces formules en fran�ais au niveau de l a feuille de calcul, car m�me dans une version fran�aise,

dans l'environnement VBA, tout se passe en anglais, le nom des fonctions en usage sont en anglais et le r�parateur d'argument

est la virgule au lieu du point virgule normalement utilis� en fr an�ais. �a, c'est le comportement normal d'Excel.



Les seules fonctions qui pourraient �tre probl�matiques c e sont celles des versions ant�rieures � Excel 2007 et qui rel�vent

de la macro compl�mentaire "utilitaire d'analyse". Excel ne fait pas la traduction automatique de ces fonctions d'une langue

� l'autre.



Qu'est-ce qui se passe lorsque tu ex�cutes la macro? Est-ce que l es formules sont copi�es dans les cellules? Qu'est-ce que la

cellule affiche? As-tu un ou des messages d'erreur?



As-tu v�rifi�, est-ce qu'Excel est en mode de calcul manu el ou automatique?



Non excel écrit les formules telles que dans la macro et donc ne les r econnait pas...
isabelle
Le #26264632
bonjour,

j'ai fait le test suivant en remplaçant les variables suivante
Tbl_TradeList[Trade Description]=xdt_PrimaryTrade)*(Tbl_TradeList[Future
Sprinkler Coeff]
par le chiffre 2

Sub Macro1()
RiskType = 1
Range("H25").FormulaArray =
"=IF(SUM((SOV!$J$15:$J$20000=RiskType)*(SOV!$AB$15:$AB$20000=""No""))>=1,1,SUM(IFERROR((2-1),0))+1)"
End Sub

la formule s'inscrit correctement dans cellule et en matricielle
=SI(SOMME((SOV!$J$15:$J$20000=RiskType)*(SOV!$AB$15:$AB$20000="No"))>=1;1;SOMME(SIERREUR((2-1);0))+1)

si tu peut mets ton fichier en ligne sur cjoint.com

isabelle

Le 2014-07-12 11:34, Sylvain Branchu a écrit :

Non excel écrit les formules telles que dans la macro et donc ne les reconnait pas...

Sylvain Branchu
Le #26264672
Vous avez raison, j'en ai fait une généralité, mais c'est dans la mis e en forme conditionnelle qu'il ne traduit pas les formules !
Je n'ai donc "que" ça à changer !
Merci beaucoup,
SB
Publicité
Poster une réponse
Anonyme