Excel - traduire_excel_de_français_en_anglais
Asked By Serge Nazarian on 22-May-12 07:21 AM
Bonjour,
Dans une proc?dure vba pour excel, je r?cup?re dans la variable F1 la
formule
RACINE(4)=L22C10
par la lecture du format conditionnel d'une cellule d'un classeur en
fran?ais avec les r?f?rences L1C1 (Ce dernier point est sans importance
car si le classeur utilise les r?f?rences classiques, je r?cup?rerais
RACINE(4)=$J$22 qui se traiterait de la m?me mani?re).
Il me faudrait convertir l'expression de fran?ais en anglais pour
obtenir dans la variable F1 la valeur SQRT(4)=R22L10
Il faut donc convertir le nom des fonctions mais aussi les "L" en "R"
quand il s'agit de r?f?rence ? des cellules.
Y a-t-il une solution ?
Merci pour toute aide.
Cordialement
--
Serge Nazarian
Pour m'?crire directement : http://cerbermail.com/?ZDkROVSJlu
MichD replied to Serge Nazarian on 22-May-12 09:36 AM
Bonjour,
Le plus simple :
Supposons ta formule : =RACINE(4)=L22C10
Tu copies ta formule dans une cellule libre de la feuille de calcul.
Range("A1").FormulaLocal = "=RACINE(4)=L22C10"
Msgbox Range("A1").Formula te revoie la formule traduite
en anglais avec le type d'adresse A1 dans la formule
Ou :
LaFormule = Range("A1").Formula
DanielCo replied to Serge Nazarian on 22-May-12 09:58 AM
A propos, tu as une raison de ne pas utiliser :
=L22C10=2
?
Daniel
MichD replied to DanielCo on 22-May-12 10:06 AM
|A propos, tu as une raison de ne pas utiliser :
| =L22C10=2
Dis Daniel, pourquoi tiens-tu ? compliquer les choses ?
;-)
DanielCo replied to MichD on 22-May-12 10:09 AM
Serge Nazarian replied to DanielCo on 23-May-12 06:27 AM
DanielCo a ?crit le 22/05/2012 :
Parceque je teste une proc?dure plus globale, o? les utilisateurs
pourront mettre ce qu'ils veulent sur leurs feuilles de calcul, donc en
particulier des fonctions aussi complexes qu'ils voudront. J'ai choisi
cette formule, mais toute autre ferait l'affaire !
Et il y a de plus le probl?me d'une fonmule qui utiliserait un
adressage relatif (et non absolu comme ici), par exemple
=RACINE(4)=L(3)C(-2).
Je suis preneur de toute suggestion.
Cordialement,
--
Serge Nazarian
Pour m'?crire directement : http://cerbermail.com/?ZDkROVSJlu
DanielCo replied to Serge Nazarian on 23-May-12 06:34 AM
Note que je m'en dutais un peu... Par contre l'exemple que tu donne
n'est pas bon, tu peux ?crire :
=L(3)C(-2)=2
Daniel
MichD replied to Serge Nazarian on 23-May-12 09:43 PM
Dans ta formule, la syntaxe fait r?f?rence ? une cellule active
dans la feuille de calcul. Comment penses-tu pouvoir automatiser
la conversion d'une formule de type L1C1 en A1 quand dans la formule
de type L1C1 il n'est nullement question de l'adresse de la cellule ou de
la place de cellules actives?
La v?ritable question : Peux-tu d?velopper une approche qui soit diff?rente
pour ?laborer les formules sans faire r?f?rence au type L1C1? Que tentes-tu
de r?aliser? L'enregistreur de macro n'a pas le choix dthemployer cette syntaxe,
mais elle est encore plus d?testable qu'une belle-m?re! Ce n'est pas peu dire!
;-))