|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : septembre 2007 Messages : 76 ![]() |
Bonjour,
J'ai un classeur excel avec plusieurs feuilles qui contiennent des formules de calcul. Ce classeur a été écrit en France et utilise donc les mots clés de la version française de VBA ( SI(...) OU(...) ...). J'ai besoin de faire des versions internationales de ce fichier et d'avoir une version spécifique à chaque pays avec pour chacun les mots clés dans la langue du pays. Par exemple : SOMME => SUM en anglais SUMA en espagnol OU => OR en anglais O en espagnol Je me suis donc écrit une petite macro VBA qui pour chaque onglet va rechercher les mots clés et les remplacer par la traduction de la langue souhaitée. Et pour cela, j'utilise donc la fonction Replace. Or ça ne fonctionne pas : le mot clé est bien trouvé et remplacé quand c'est dans la valeur d'une cellule mais il n'est pas trouvé/remplacé quand c'est dans la formule d'une cellule. Et pourtant j'ai généré ce code Replace à partir de l'enregistreur de macro et quand je fais le rechercher/remplacer manuellement il modifie bien mes formules. Comme je ne réussissait pas avec le Replace, j'ai alors trouvé sur le net un autre code qui utilise un Find et qui fait ensuite le Replace sur chaque occurence trouvée, mais ça ne marche pas non plus : il ne trouve mon mot clé que dans les valeurs, pas dans les formules, et pourtant la fonction a bien le paramètre pour faire la recherche dans les formules. - Exemple de formule : =SI(F2="AAA";OU(G2=1;H2=1);"bbb") - Ma fonction replace (qui ne marche pas) : Code :
Code :
Voilà, je ne comprends donc pas le comportement de la fonction de rechercher/remplacer qui marche très bien quand je la lance manuellement (depuis le menu) mais qui ne marche pas quand je la lance depuis son équivalent vba. Si quelqu'un a une idée, je suis preneur ... Merci d'avance |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
Postulat, j'ai dans une cellule de ma zone.. Quelque soit la langue, le VBA parle anglais... Code :
Ps : si côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
||
|
|
00
|
|
|
#3 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
au fait : idem pour replace bien sur.... Code :
ActiveCell.Replace What:="sum", Replacement:="sommmma", LookAt:=xlPart etc.... Ps : si côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com