Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/11/2011, 21h18   #1
Invité de passage
 
Femme
Inscription : novembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : novembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Rechercher/remplacer des chaînes à partir d'un tableau à deux colonnes

Bonjour,

J'ai une série de valeurs qui ressemblent à ça :
London Londres
Lisbon Lisbonne
Roma Rome
Venice Venise

Et un texte dans lequel figure les noms de villes en anglais.

Je voudrais automatiser le remplacement par les noms en français.

Je me dis que ça doit sûrement déjà exister, mais Google ne m'a été d'aucun secours...

Avez-vous des idées ? Merci !
LondonLondres est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2011, 23h23   #2
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut LondonLondres,

D'abord voici un tutoriel sur la fonction de rechercher/remplacer dans Word. Sur cette base, on peut appliquer une boucle sur les mots de ta liste, lire la correspondance puis la remplacer. Mais attention, malgré des précautions d'usage (Mots complets, respect de la casse...), le remplacement n'est que syntaxique et donc complètement systématique. Hormis ce point, c'est assez simple en VBA et on peut se débrouiller pour que ce soit réutilisable.

Dis-moi si c'est bien ce que tu veux et quel niveau de VBA tu as pour que l'on puisse t'aider de façon la plus efficace possible.

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 00h15   #3
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
ReSalut LondresLondon,

La meilleure solution consiste (à mon avis) à procéder par étape, d'abord on s'occupe du remplacement pour voir si c'est OK puis après du tableau en lui-même.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub DVP_RemplacementAPartirD1TableauA2Colonnes_Step1()
   Dim aListOfTowns(3, 1) As String
 
   aListOfTowns(0, 0) = "London"
   aListOfTowns(0, 1) = "Londres"
   aListOfTowns(1, 0) = "Lisbon"
   aListOfTowns(1, 1) = "Lisbonne"
   aListOfTowns(2, 0) = "Rome"
   aListOfTowns(2, 1) = "Rome"
   aListOfTowns(3, 0) = "Venice"
   aListOfTowns(3, 1) = "Venise"
 
   For aI = LBound(aListOfTowns, 1) To UBound(aListOfTowns, 1)
      Selection.Find.ClearFormatting
      With Selection.Find
         .Text = aListOfTowns(aI, 0)
         .Replacement.Text = aListOfTowns(aI, 1)
         .Forward = True
         .Wrap = wdFindContinue
         .Format = False
         .MatchCase = True
         .MatchWholeWord = True
         .MatchWildcards = False
         .MatchSoundsLike = False
         .MatchAllWordForms = False
      End With
    Selection.Find.Execute Replace:=wdReplaceAll
   Next
End Sub
@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h42.


 
 
 
 
Partenaires

Hébergement Web