Luc,
You have two problems, well three actually, but the third is an ancillary of
the second.
Firstly, you have the function names that you need to convert. KeepItCool
has created a workbook that you can freely download that you can get all the
values from, it is at
http://members.chello.nl/keepitcool/files/TranslateIT.zip. When I open the
workbook I get a runtime error, but just ignore that and extract the data
for your macro.
Then you have the separator issue. Some countries use semi-colon for a
separator, some use comma. Again , the aforementioned workbook has details
of which countries use which.
The third issue is one that the late Frank Kabel came across when we were
developing some multi-language tools. Even though he had a German version of
Excel, for some reason he had English language settings, so he was using
comma not semi-colon. The way we handled this was to set the array for the
separators to standard US/UK style. Then by checking the language settings
we reset if not English. This is the code that you can adapt
CFP_Formula(1) = Application.International(xlListSeparator)
CFP_Formula(12) = Application.International(xlLeftBrace)
CFP_Formula(13) = Application.International(xlRightBrace)
CFP_Formula(14) = Application.International(xlColumnSeparator)
By the way, we use an INI file to store all the language specific values,
and read that in at the start. I could share that code with you if you think
it might be helpful. This is an example from the INI files that will give
you a flavour using the functions
[CFPlus_Languages]
001=English
002=German
003=French
[CFPlus_Languages_Local]
001=English
002=Deutsch
003=Français
[CFPlus_English]
f001=,
f002=COUNTIF(
f003=MOD(ROW()-ROW(
f004=AND(
f005=OR(
f006=MOD(COLUMN()-COLUMN(
f007=ISERROR(
f008=LARGE(
f009=SMALL(
f010=TODAY()
f011=WEEKDAY(
f012={
f013=}
f014=,
f015=OR(
f016=DAY(
f017=MONTH(
f018=AND(
f019=DATE(
f020=YEAR(
f021=WORKDAY(
f022=INT(
f023=MOD(
f024=MAX(
f025=ISNUMBER(
f026=ISTEXT(
f027=ISLOGICAL(
f028=ISBLANK(
f029=OFFSET(
f030=ROW(
f031=COLUMN(
f032=SUM(
[CFPlus_German]
f001=;
f002=ZÄHLENWENN(
f003=REST(ZEILE()-ZEILE(
f004=UND(
f005=ODER(
f006=REST(SPALTE()-SPALTE(
f007=ISTFEHLER(
f008=KGRÖSSTE(
f009=KKLEINSTE(
f010=HEUTE()
f011=WOCHENTAG(
f012={
f013=}
f014=.
f015=ODER(
f016=TAG(
f017=MONAT(
f018=UND(
f019=DATUM(
f020=JAHR(
f021=ARBEITSTAG(
f022=GANZZAHL(
f023=REST(
f024=MAX(
f025=ISTZAHL(
f026=ISTTEXT(
f027=ISTLOG(
f028=ISTLEER(
f029=BEREICH.VERSCHIEBEN(
f030=ZEILE(
f031=SPALTE(
f032=SUMME(
[CFPlus_French]
f001=,
f002=NB.SI(
f003=MOD(LIGNE()-LIGNE(
f004=ET(
f005=OU(
f006=MOD(COLONNE()-COLONNE(
f007=ESTERREUR(
f008=GRANDE.VALEUR(
f009=PETITE.VALEUR(
f010=AUJOURDHUI()
f011=JOURSEM(
f012={
f013=}
f014=,
f015=OU(
f016=JOUR(
f017=MOIS(
f018=ET(
f019=DATE(
f020=ANNEE(
f021=SERIE.JOUR.OUVRE(
f022=ENT(
f023=MOD(
f024=MAX(
f025=ESTNUM(
f026=ESTTEXTE(
f027=ESTLOGIQUE(
f028=ESTVIDE(
f029=DECALER(
f030=LIGNE(
f031=COLONNE(
f032=SOMME(
--
HTH
RP
(remove nothere from the email address if mailing direct)