kitcreanet
Messages postés2Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 6 février 2007
-
5 févr. 2007 à 23:27
kitcreanet
Messages postés2Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 6 février 2007
-
6 févr. 2007 à 13:23
Bonjour à tous !
J'ai besoin de convertir des valeurs chiffrées dans des tableaux Word
de l'anglais vers le français, ou au contraire du français vers
l'anglais.
C'est une manipulation assez simple à l'aide d'un simple chercher/remplacer.
Pour passer du français à l'anglais, je remplace la virgule par un point et l'espace par une virgule :
1 123,56 > 1,234.56
Pour passer de l'anglais vers le français, je remplace la virgule par une espace et le point par une virgule :
1,234.56 > 1 123,56
Cette recherche s'effectue sur une sélection de cellules et lorsque Word demande si on doit étendre au reste du document, la réponse "Non" suffit à limiter cette recherche à la sélection...
Tout ceci fonctionne admirablement bien manuellement et lorsque
j'enregistre mes manips dans une macro... Le problème, c'est que quand
je relance cette macro, le traitement s'opère, non pas seulement sur la
sélection, mais sur tout le document... (tous mes espaces sont
remplacés par des "virgules", les "virgules" par des "points"... Bref
c'est la chianlit...
J'ai cherché partout d'où cela peut bein provenir et je sèche lamentablement...
Je travailles sous WinXP, et Office 2003...
Voici un exemple de code :
Sub Macro1()
' UK FR
' Conversion de l'anglais vers le français
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ","
.Replacement.Text = "^s"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
EndWith
Selection.Find.Execute Replace:=wdReplaceAll