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

Résolu
Pa2peau -  
Pa2peau Messages postés 10 Statut Membre -
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

8 réponses

  1. m@rina Messages postés 27555 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    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
  2. m@rina Messages postés 27555 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    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
    1. Pa2peau
       
      Bonjour, voici un complément d'info dans le post, merci
      0
  3. Pa2peau
     
    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
  4. m@rina Messages postés 27555 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    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
    1. Pa2peau
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. m@rina Messages postés 27555 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    J'ai vu et j'ai ajouté une macro.
    0
    1. Pa2peau
       
      Top je teste tout de suite merci encore !
      0
      1. Pa2peau > 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 ?
        0
  7. m@rina Messages postés 27555 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    Manque une parenthèse :
    texte = "rendez-vous au ([0-9]{1;3})"

    Et attention de mettre la bonne casse.

    m@rina

    0
    1. Pa2peau
       
      Top merci encore
      0
  8. pa2peau
     
    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
  9. Pa2peau Messages postés 10 Statut Membre
     
    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