[Macro] Mettre en gras les caractéres après une séquence spécifique [Résolu]

Signaler
-
 Pa2peau -
Bonjour,

Je vous contacte car j'ai un document de 500 pages et je dois faire une tâche fastidieuse qui à mon sens peu être automatisé avec une petite macro.

L'idée mettre en gras les chiffre situés après une séquence de mot qui se répété :

Exemple :
"Si vous préférez les ignorer et poursuivre votre chemin, rendez-vous au 120."

L'idée est que le "120" apparaisse en gras. donc les chiffres juste après "rendez-vous au "

Pouvez-vous m'aider ?

Configuration: Windows / Chrome 84.0.4147.89

5 réponses

Messages postés
16598
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
9 799
Bonjour,

Je n'ai pas compris s'il s'agissait toujours de la même phrase ou s'il s'agissait de trouver des chiffres insérés d'une manière particulière.
Regarde déjà ici :
http://faqword.com/index.php/word/outils-edition/1126-comment-remplacer-des-occurrences-par-les-memes-mais-en-modifiant-la-casse

particulièrement la dernière macro, en modifiant la casse par la graisse.

m@rina
Bonjour, voici un complément d'info dans le post, merci
Merci m@rina pour ton lien. Pour plus d’explication il d'agit typiquement de la même typologie que les livres dont vous êtes le héros :

253
Lorsque vous transpercez le dernier de vos assaillants, vous étouffez un cri de triomphe. Vous essuyez ensuite votre arme avec des gestes prudents. Alors seulement, vous posez la paume de la main sur vos yeux aveugles. Vos pouvoir curatifs agissent rapidement sur les tissus endommagés, et votre vue revient très vite. Les premières choses que vous voyez sont trois cadavres de bandit des Hammcrland. Vous les tirez jusqu'à l'autel défoncé et commencez à les enterrer sous des gravats. Si vous souhaitez d'abord les fouiller, rendez-vous au 109. Sinon, rendez-vous au 290.

254
La salve mortelle claque contre le parapet et siffle très près au- dessus de votre tête. Le tir est puissant et précis : l'un des carreaux passe si près qu'il arrache le col de votre tunique et vous érafle le cou : vous perdez 1 point d'ENDURANCE. Opportunément vous plongez derrière le muret. Le petit filet de sang qui vous coule sur la poitrine vous rappelle que les Drakkarims sont des guerriers expérimentés et déterminés. Vous savez donc qu'il vous faut à tout prix les empêcher d'atteindre le toit si vous voulez avoir la moindre chance de quitter Gazad Helkona vivant. Pour continuer, rendez-vous au 220.

Je veux éviter de devoir mettre les chiffres en gras à la main à chaque fois
Messages postés
16598
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
9 799
OK, pas de problème. J'ai fait à l'instant un article sur le sujet ;)
Il y a deux solutions avec ou sans macros :

http://faqword.com/index.php/word/mise-en-forme/1149-comment-modifier-la-mise-en-forme-d-un-mot-inclus-dans-une-expression

m@rina
Bonjour merci pour votre retour j'essaye d'analyser votre code pour l'appliquer à mon soucis mais j'ai des erreurs de compilation. mon soucis est que les chiffres juste après "rendez-vous au" sont à chaque fois différents il faut donc que la macro mette en gras les chiffres juste après cette séquence.
Messages postés
16598
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
9 799
J'ai vu et j'ai ajouté une macro.
Top je teste tout de suite merci encore !
> Pa2peau
voici donc votre macro :
Sub remplacer()
'macro écrite par m@rina
'colorer tous les nombres dans l'expression "Se rendre page xxx"
Dim texte As String
texte = "Rendez-vous au [0-9]{1;3})" 'entre 1 et 3 chiffres - modifier si nécessaire
Application.ScreenUpdating = False
Selection.HomeKey Unit:=wdStory
Do
With Selection.Find
.ClearFormatting
.MatchWildcards = True
.Text = texte
.Forward = True
.Wrap = wdFindStop
.Execute
End With
If Selection.Find.Found Then ActiveDocument.Range(Selection.Range.Start + 15, Selection.Range.End).Font.Bold = True
Loop Until Not Selection.Find.Found
End Sub

Lors de son execuction j'ai une box d'erreur 5560 : Le texte recherché contient un critère spécial qui n'est pas valide. j'ai réalisé une fausse manip ?
Messages postés
16598
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
9 799
Manque une parenthèse :
texte = "rendez-vous au ([0-9]{1;3})"

Et attention de mettre la bonne casse.

m@rina

Top merci encore