Bonjour =E0 toutes et =E0 tous,
je viens de recevoir un fichier Excel de mes coll=E8gues 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 =3D "=3DIF(S=
UM((SOV!$J$15:$J$20000=3DRiskType)*(SOV!$AB$15:$AB$20000=3D""No""))>=3D1,1,=
SUM(IFERROR((Tbl_TradeList[Trade Description]=3Dxdt_PrimaryTrade)*(Tbl_Trad=
eList[Future Sprinkler Coeff]-1),0))+1)"
forc=E9ment mon excel Fran=E7ais ne connait pas les fonctions SUM, IF...
Est-il possible, par macro de le convertir en anglais ?
En cherchant j'ai trouv=E9 des trucs comme Application.LanguageSettings.Lan=
guageID(msoLanguageIDUI), mais je ne ma=EEtrise pas...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
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?
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?
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?
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...
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...
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
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
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
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