IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Word Discussion :

Macro pour que tous les sauts de ligne soient en Arial 8 points non gras


Sujet :

Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2018
    Messages
    56
    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 : 56
    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
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Inutile. Les sauts sont invisibles à l'impression.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2018
    Messages
    56
    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 : 56
    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
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    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.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2018
    Messages
    56
    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 : 56
    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
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    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.

+ 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, 10h25
  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, 22h17
  3. Réponses: 5
    Dernier message: 18/12/2012, 08h24
  4. Réponses: 4
    Dernier message: 30/10/2012, 15h44
  5. Effacer tous les sauts de ligne
    Par booleanf dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/07/2007, 21h30

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