Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ressources humaines
    Inscrit en
    septembre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : septembre 2018
    Messages : 25
    Points : 17
    Points
    17

    Par défaut Macro pour que tous les sauts de ligne soient en Arial 8 points non gras

    Bonjour le Forum,

    J'essaie de mettre au point une macro qui modifie la mise en forme de tous les sauts de ligne dans un document : je veux qu'ils soient tous en Arial, 8 points, non gras.

    J'ai essayé de la créer avec l'enregistreur de macros, mais le code que je récupère ne contient aucune propriété de mise en forme (je ne sais pas si les termes sont exacts).
    Du coup j'essaie d'écrire directement la macro, mais sans succès pour l'instant : la macro bloque sur la ligne .Font = " Arial ".

    et je reçois le message :
    Erreur de compilation, Incompatibilité de type

    Quelqu'un pourrait-il m'aider à finaliser ma macro, siouplé ?
    Merci !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub xretourligneclean()
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "^p"
            .Replacement.Text = "^p"
            .Forward = True
            .Format = False
            .Font = " Arial "
            .Font.Bold = False
            .Font.Size = "8"
     
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
     
        With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
    End With
     
    End Sub

  2. #2
    Expert éminent

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 568
    Points : 9 516
    Points
    9 516
    Billets dans le blog
    30

    Par défaut

    Bonjour,

    Inutile. Les sauts sont invisibles à l'impression.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ressources humaines
    Inscrit en
    septembre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : septembre 2018
    Messages : 25
    Points : 17
    Points
    17

    Par défaut

    Oui.
    Mais si je souhaite le faire quand même, c'est parce que quand j'écris dans une ligne vide, elle peut prendre une apparence différente de ce que je souhaite, ce qui m'oblige à sélectionner, choisir une police, une taille, une couleur, éventuellement supprimer un surlignage ou un fond, etc...
    Du coup, je souhaite mettre en forme ces sauts de lignes.

  4. #4
    Expert éminent

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 568
    Points : 9 516
    Points
    9 516
    Billets dans le blog
    30

    Par défaut

    Ce sont essentiellement des caractères spéciaux et je n'ai jamais rien vu qui permette ce que tu demandes. Mais je peux me tromper.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ressources humaines
    Inscrit en
    septembre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : septembre 2018
    Messages : 25
    Points : 17
    Points
    17

    Par défaut

    Merci pour ta réponse.

    Si ce sont les caractères spéciaux le problème, peut-on les remplacer temporairement (ici je remplace les sauts de paragraphe par "%%%%"), puis appliquer un format sur les "%%%%" puis restituer les sauts de paragraphe ?
    J'ai essayé, mais je bute toujours sur la même difficulté : lors d'un Rechercher/Remplacer, l'enregistreur de macros n'enregistre pas la partie "format" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Sub xretourligneclean()
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "^p"
            .Replacement.Text = "%%%%"
            .Forward = True
            .Wrap = wdFindContinue
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "%%%%"
            .Replacement.Text = "%%%%"
            .Forward = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "%%%%"
            .Replacement.Text = "^p"
            .Forward = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub
    En revanche, quand je fais la manip manuellement (remplacer tous les ^p par des ^p en Arial 8 non gras) ça marche très bien...

  6. #6
    Expert éminent

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 568
    Points : 9 516
    Points
    9 516
    Billets dans le blog
    30

    Par défaut

    Bonjour,

    Tu peux peut-être tricher un peu, encore que tu vas devoir être prudent au moment de la rédaction.

    La méthode rapide c'est de changer ton style Normal pour qu'il soit en Arial 8 points. Cela ne t'empêche pas de modifier la forme de chaque paragraphe individuellement, mais chaque nouveau paragraphe sera toujours par défaut en Arial 8 points.

    Et tu te crées un nouveau Style, disons Normal2, que tu appliques systématiquement à tous les paragraphes que tu as vraiment rédigés en style Normal.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Ressources humaines
    Inscrit en
    septembre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : septembre 2018
    Messages : 25
    Points : 17
    Points
    17

    Par défaut

    Bonjour et merci pour ta réponse,

    En fait, à force de me casser la tête et de chercher sur des forums, j'ai réussi à mettre au point la macro de mes rêves, sans avoir à "tricher" en remplaçant temporairement les ^p par des %%%%.

    Voilà ma macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub xsautsdeligneclean()
     
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
     
    Selection.Find.Replacement.Font.Color = wdColorAutomatic
    Selection.Find.Replacement.Font.Name = " Arial "
    Selection.Find.Replacement.Font.Size = 8
    Selection.Find.Replacement.Font.Bold = False
    Selection.Find.Replacement.Font.Italic = False
    Selection.Find.Replacement.Font.Underline = wdUnderlineNone
    Selection.Find.Replacement.Highlight = False
     
    With Selection.Find
            .Text = "^p"
            .Replacement.Text = "^p"
            .Forward = True
            .Format = True
            .Wrap = wdFindContinue
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
     
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
     
    End Sub
    Tout est dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Find.Replacement.Font.Color
    dont j'ignorais l'existence.

    Mais ça marche, c'est cool !

    Merci pour ton aide qui a agi comme un catalyseur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2010] Macro pour modifier tous les fichiers d'un dossier
    Par fchoupinette dans le forum VBA Word
    Réponses: 2
    Dernier message: 12/07/2018, 11h25
  2. [WD-2010] Macro pour rechercher tous les mots avec deux majuscules
    Par Loicdup dans le forum VBA Word
    Réponses: 0
    Dernier message: 24/05/2018, 23h17
  3. Réponses: 5
    Dernier message: 18/12/2012, 09h24
  4. Réponses: 4
    Dernier message: 30/10/2012, 16h44
  5. Effacer tous les sauts de ligne
    Par booleanf dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/07/2007, 22h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo