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 11/11/2006, 20h01   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3
Points : 1
Points : 1
Par défaut [Word] Remplacer une occurrence dans une sélection de texte

Bonsoir,
J'utilise une macro pour remplacer un mot par 1 autre dans 1 texte de Word. Mais cette macro remplace le mot dans *tout* le texte. Or, je voudrais qu'elle ne le fasse que dans la zone de texte que j'ai sélectionnée. Quelle instruction VBA dois-je utiliser pour la limiter à cette sélection ?
Merci d'avance.
janneau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2006, 21h52   #2
Membre éclairé
 
Inscription : octobre 2006
Messages : 390
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 390
Points : 396
Points : 396
Code :
Selection = Replace(Selection, "textecherché", "nouveautexte", , , vbTextCompare)
dadavyvy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2006, 23h12   #3
Membre régulier
 
Enseignant
Inscription : août 2006
Messages : 141
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : août 2006
Messages : 141
Points : 70
Points : 70
Envoyer un message via MSN à Lexot2
Bonjour

Voici un code qui remplace le mot "beau" par le mot "joli" dans une sélection. Plusieurs options sont possibles :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 With Selection.Find
        .Text = "beau"
        .Replacement.Text = "joli"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = True
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
Cordialement
Lexot2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2006, 11h15   #4
Invité de passage
 
Inscription : novembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3
Points : 1
Points : 1
Merci pour les réponses. La macro que j'utilise est très proche de celle donnée par Lexot2... La seule différence, c'est :
alors que j'avais
et c'est ce qui fait toute la différence !!! Là, ça marche !

Par contre, il me pose maintenant une question (doit-il continuer sur le reste du texte?). Serait-ce possible d'éviter d'avoir cette question et de stopper dès la fin de la sélection (sans rien demander.... :o)
Merci encore.
janneau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2006, 11h41   #5
Membre habitué
 
Avatar de wape
 
Inscription : février 2003
Messages : 90
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 90
Points : 101
Points : 101
Bonjour,

Essaye de remplacer

par

wape
wape est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2006, 15h47   #6
Invité de passage
 
Inscription : novembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3
Points : 1
Points : 1
Ça marche !! merci à tous.
janneau est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h11.


 
 
 
 
Partenaires

Hébergement Web