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 :

Aide sur une macro qui change la couleur de police


Sujet :

VBA Word

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut Aide sur une macro qui change la couleur de police
    Bonjour Forum,

    J'ai besoin d'une macro qui passe en bleu tout texte en rouge.

    J'ai donc créé une macro en enregistrant mes actions (ci-dessous).
    Mais quand je l'exécute, il ne se passe rien...
    Où est-ce que j'ai faux ?

    Merci pour votre aide !

    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
    Sub Format_Police_Remplacer_Rouge_par_bleu()
    '
    ' Format_Police_Remplacer_Rouge_par_bleu Macro
    ' Macro enregistrée le 23/01/2013 par B
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "*"
            .Replacement.Text = "*"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchAllWordForms = False
            .MatchSoundsLike = False
            .MatchWildcards = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Bonjour

    essaie ceci, c'est assez court; il change tout texte de couleur rouge

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Couleur()
     
    Dim Plage As Object, Wrd As Object
     
    Set Plage = ActiveDocument.Content.Words
     
    For Each Wrd In Plage
        If Wrd.Font.Color = wdColorRed Then _
        Wrd.Font.Color = wdColorBlue
    Next Wrd
     
    End Sub

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut
    Ça marche, merci !!!

    (sur mon ordi, qui n'est plus tout jeune, c'est nettement plus lent que le simple rechercher/remplacer de Word).


    As-tu une idée de la raison pour laquelle ma macro ne marche pas ?

  4. #4
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Salut
    voilà pour toi
    1. il faut spécifier la couleur de départ et celle d'arrivée
    2. le texte, c'est "" et pas "*"

    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
    Selection.Find.ClearFormatting
    Selection.Find.Font.Color =wdColorRed
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Font.Color = wdColorBlue
    With Selection.Find
            .Text = ""
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut merci; tout parait simple quand quelqu'un d'autre vous aide

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

Discussions similaires

  1. Besoin d'aide sur une macro
    Par kyros21 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/11/2011, 09h33
  2. macro qui change de couleur après une alerte
    Par murka62 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/07/2011, 00h06
  3. [XL-2007] aide sur une macro
    Par ozaland dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/06/2011, 17h32
  4. [Regex C#] Aide sur une regex qui recupere des controles
    Par kerjon dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 14/05/2009, 14h10
  5. petite aide sur une macro pour transfere de valeur
    Par fpouzou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2007, 16h54

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