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

VBA Word Discussion :

Remplacement de mise en forme


Sujet :

VBA Word

  1. #1
    Membre habitué
    Femme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Avril 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Cyberdocumentaliste

    Informations forums :
    Inscription : Avril 2012
    Messages : 113
    Points : 152
    Points
    152
    Par défaut Remplacement de mise en forme
    Bonjour à tous !

    Je travaille sur un document Word qui contient à de nombreux endroits du texte entre <>. Je souhaiterais remplacer la mise en forme du texte à ces endroits, mais comme il y en a beaucoup, je n'avais pas très envie de faire cela manuellement... J'ai donc commencé une petite macro pour m'aider :

    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
    Selection.WholeStory
     
        With Selection.Find
            .Text = "<" 'Texte du début
            .MatchWholeWord = False
        End With
        Selection.Find.Execute
        Selection.Extend
     
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = ">" 'Texte de fin
            .MatchWholeWord = False
        End With
        Selection.Find.Execute
     
        With Selection.Range
            .Font.Name = "Times New Roman"
        End With
    Problème : la macro s'arrête à la première balise <> trouvé, alors que j'aurais besoin qu'elle change la mise en forme pour toutes les balises du document.

    Un peu d'aide serait la bienvenue... merci d'avance !

  2. #2
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonour,

    Une recherche par caractère générique sera plus performante.
    Le principe je sélectionne ce qui se trouve entre < et >.
    Cocher les caractères génériques
    Dans la zone Rechercher : "\<(*)\>"
    Dans la zone Remplacer "\1" plus la mise en forme et il n'y a plus les < et > mais le texte compris dedans prendra la mise en forme souhaitée.

    Explication \ permet d'indiquer que c'est le caractère et pas sa fonction donc \< indique la recherche du caractère "<"
    *permet de rechercher tous les caractères
    \> indique la recherche du caractère ">"

    les parenthèses permettent d'indiquer qu'on voudra réutiliser cette partie dans la zone remplacer
    \1 les premiers caractères de la zone rechercher entre parenthèses

    Même pas besoin de macro du coup
    Cordialement,
    Christophe

    Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/10/2016, 11h05
  2. [PHP 5.2] remplacer du texte après mise en forme
    Par mehdi1968 dans le forum Langage
    Réponses: 15
    Dernier message: 10/05/2012, 21h40
  3. [XL-2007] code pour remplacer mise en forme conditionnelle
    Par chris09300 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/04/2012, 11h15
  4. Mise en forme HTML
    Par Regis.C dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 25/04/2004, 11h55
  5. Mise en forme fichier avant Import
    Par jeff37 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/04/2004, 15h16

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