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

Résolu/Fermé
Pa2peau - Modifié le 18 juil. 2020 à 09:49
Pa2peau Messages postés 10 Date d'inscription dimanche 1 novembre 2020 Statut Membre Dernière intervention 3 avril 2021 - 3 avril 2021 à 09:05
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
A voir également:

8 réponses

m@rina Messages postés 20213 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 13 mai 2024 11 280
2 avril 2021 à 17:32
Bonjour,

Je ne sais pas ce que tu veux faire exactement.
Dans l'exemple que tu donnes, il y a trois occurrences différentes d'une part et d'autre part les chiffres sont des champs HYPERLINK.
Donc c'est sûr que la macro ne va pas trouver.

Maintenant s'il s'agit de mettre tous les chiffres en gras, il n'y a pas besoin de macro.

m@rina
1
m@rina Messages postés 20213 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 13 mai 2024 11 280
18 juil. 2020 à 14:44
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 :
https://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
0
Bonjour, voici un complément d'info dans le post, merci
0
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
0
m@rina Messages postés 20213 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 13 mai 2024 11 280
18 juil. 2020 à 16:27
OK, pas de problème. J'ai fait à l'instant un article sur le sujet ;)
Il y a deux solutions avec ou sans macros :

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

m@rina
0
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 20213 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 13 mai 2024 11 280
18 juil. 2020 à 17:00
J'ai vu et j'ai ajouté une macro.
0
Top je teste tout de suite merci encore !
0
Pa2peau > Pa2peau
18 juil. 2020 à 17:14
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 ?
0
m@rina Messages postés 20213 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 13 mai 2024 11 280
Modifié le 18 juil. 2020 à 17:31
Manque une parenthèse :
texte = "rendez-vous au ([0-9]{1;3})"

Et attention de mettre la bonne casse.

m@rina

0
Top merci encore
0
Hello Marina, j'ai essayé d'adapter ta formule avec des variants du style, "rendez-vous au" ou "allez au" cependant cela ne fonctionne pas peux tu m'aider et m'expliquer quels sont les changement à réaliser ?
0
Pa2peau Messages postés 10 Date d'inscription dimanche 1 novembre 2020 Statut Membre Dernière intervention 3 avril 2021
2 avril 2021 à 15:13
voici un fichier word pour comprendre pourquoi cela ne fonctionne pas merci encore pour ton aide :

https://www.transfernow.net/transfer/?utm_source=20210402PWYGJWV3&utm_medium=&utm_content=en
0
Pa2peau Messages postés 10 Date d'inscription dimanche 1 novembre 2020 Statut Membre Dernière intervention 3 avril 2021
3 avril 2021 à 09:05
Hello Marina, tu as trouvé la solution !! Encore une fois je n'avais pas vu qu'il s'agissait de champ hypertexte.... Je viens donc de supprimer l'ensemble des liens et cela refonctionne à nouveau merci
0