Macro Word remplacer les guilements anglais-> français

TOT127 Messages postés 1045 Statut Membre -  
Argitxu Messages postés 5292 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je cherche à faire une macro pour microsoft word pour remplacer les "" anglais par les guillemets français. Je dois le faire souvent, une macro aiderait.

“mot”
« mot »

avec les espaces insécables entre "«" et "mot"

comment peut-on faire ça ?
merci!

1 réponse

  1. Argitxu Messages postés 5292 Date d'inscription   Statut Contributeur Dernière intervention   4 846
     
    Bonjour

    Pas besoin de macro, une option word prévoit l’alternative.
    Aller dans :
    Fichier | Options | options avancées | Onglet Vérification | Options de correction automatique | onglet ‘lors de la frappe’ : et là cocher ‘Remplacer Guillemets ' ' ou "" par des guillemets «»’
    L'espace insécable est automatique

    2
    1. TOT127 Messages postés 1045 Statut Membre 96
       
      Bonjour,
      Merci de ton message.
      c'était déjà coché, et en fait, je me rends compte que le problème que j'ai intervient au moment des copiers-collers et des changement 2 langues (habituellement 3 langues dans le fichier).
      Du coup là, besoin d'une macro ? Pour "nettoyer" tous les 3/4jours quoi, ou nettoyer avant de se lancer dans une révision globale
      merci :)
      0
      1. Argitxu Messages postés 5292 Date d'inscription   Statut Contributeur Dernière intervention   4 846 > TOT127 Messages postés 1045 Statut Membre
         
        Effectivement, dans ces conditions ce sera plus aisé d'automatiser un peu

        Pour faire le remplacement, utilise le recherche/remplace de la seconde solution de ce tuto avec un espace insécable (les 2 dernières lignes). Il faut lire qu'il faut aussi cocher les caractères génériques avant de lancer le recherche/remplace. Tu peux faire un copier/coller des commandes
        https://www.faqword.com/index.php/word/mise-en-forme/929

        Si tu ne le fais qu'occasionnellement, autant enregistrer ce Recherche/Remplace en macro :
        - Onglet Développeur
        - Cliquer sur Enregistrer une macro
        - Saisir un nom dans le champ Nom (dans le normal.dotm)
        - Lui affecter un raccourci clavier
        - Faire le recherche/remplace
        - Cliquer sur Arrêter l'enregistrement.
        Si ça t'intéresse, on peut aussi l'enregistrer dans la barre d'outils rapide.

        C'est bon ?

        Argitxu
        0
    2. TOT127 Messages postés 1045 Statut Membre 96
       
      presque.
      Sauf pour l'espace, je n'ai pas compris ceci:
      Rechercher : "([!\?.\!\;,:;^13 ])(*)"
      Remplacer par : "^s\1\2^s"


      pour moi ça donne....
      recherche: ""
      remplacer par.. ?
      0
      1. Argitxu Messages postés 5292 Date d'inscription   Statut Contributeur Dernière intervention   4 846 > TOT127 Messages postés 1045 Statut Membre
         
        Si tes guillemets actuels sont des guillemets français " ", et que l’option des guillemets est bien activée, le recherche remplace du tuto marche parfaitement.

        Par contre, j’ai peut-être lu trop vite et j’ai un doute sur le début de ton message quand tu donnes l'exemple “mot” où là ce sont des guillemets anglais
        Voici une macro à rajouter par Alt F11 puis dans this document :

        Sub RemplacerGuillemetsAnglaisV2()
        '
        ' RemplacerGuillemetsAnglaisV2 Macro
        '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
        .Text = ChrW(8221) & "<"
        .Replacement.Text = """ "
        .Forward = True
        .Wrap = wdFindContinue
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        With Selection.Find
        .Text = ChrW(8221)
        .Replacement.Text = " """
        .Forward = True
        .Wrap = wdFindContinue
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        End Sub

        Argitxu
        0