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 :

Changer la couleur de fond avec une macro [WD-2010]


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 6
    Points
    6
    Par défaut Changer la couleur de fond avec une macro
    Bonjour à tous,
    Je dois régulièrement dans des longs documents mettre certains mots ou expressions en évidences.
    J'ai fais une macro très simple (mais qui fonctionne) pour mettre l'expression que je rentre dans un InputBox en couleur.
    Je voudrais faire la même chose mais avec la couleur de fond: pouvoir mettre certain mot en "surbrillance rouge, verte, bleue, ...) et la je cale

    Voici mon code pour le changement de couleur

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Sub TexteCouleur()
    'mets le texte entré dans le inputbox dans une des 8 couleurs proposées
     
     
    montexte = InputBox("Saisissez le texte à colorier" & Chr(13) & _
                        "(laissez vide pour continuer sans colorier de texte" & Chr(13) & _
                        "                                           ou appuyez sur    ---->)", "Saisie du texte")
    If montexte <> "" Then
        macouleur = -1
        While macouleur < 0 Or macouleur > 9
            macouleur = InputBox("Saisissez le code couleur:" & Chr(13) & _
                                 "     1. ROUGE" & Chr(13) & _
                                 "     2. VERT" & Chr(13) & _
                                 "     3. BLEU" & Chr(13) & _
                                 "     4. JAUNE" & Chr(13) & _
                                 "     5. CYAN" & Chr(13) & _
                                 "     6. MAGENTA" & Chr(13) & _
                                 "     7. ORANGE" & Chr(13) & _
                                 "     8. GRIS", "Choix de la couleur")
        Wend
     
     
        Select Case macouleur
            Case 1: couleur = RGB(255, 0, 0) 'rouge
            Case 2: couleur = RGB(0, 255, 0) 'vert
            Case 3: couleur = RGB(0, 0, 255) 'bleu
            Case 4: couleur = RGB(255, 255, 0) 'jaune
            Case 5: couleur = RGB(O, 255, 255) 'cyan
            Case 6: couleur = RGB(255, 0, 255) 'magenta
            Case 7: couleur = RGB(255, 128, 0) 'orange
            Case 8: couleur = RGB(128, 128, 128) 'gris
        End Select
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find.Replacement.Font
            .Bold = True
            .Color = couleur
        End With
        With Selection.Find
             .Text = montexte
             .Replacement.Text = montexte
             .Forward = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
      End If
    End Sub
    Merci d'avance !!!

  2. #2
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Bonjour,

    Voici la macro adaptée :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Sub TexteCouleur()
    'mets le texte entré dans le inputbox dans une des 8 couleurs proposées
     
     
    MonTexte = InputBox("Saisissez le texte à colorier" & Chr(13) & _
                        "(laissez vide pour continuer sans colorier de texte" & Chr(13) & _
                        "                                           ou appuyez sur    ---->)", "Saisie du texte")
    If MonTexte <> "" Then
        Macouleur = -1
        While Macouleur < 0 Or Macouleur > 9
            Macouleur = InputBox("Saisissez le code couleur:" & Chr(13) & _
                                 "     1. ROUGE" & Chr(13) & _
                                 "     2. VERT" & Chr(13) & _
                                 "     3. BLEU" & Chr(13) & _
                                 "     4. JAUNE" & Chr(13) & _
                                 "     5. CYAN" & Chr(13) & _
                                 "     6. MAGENTA" & Chr(13) & _
                                 "     7. ROUGE FONCÉ" & Chr(13) & _
                                 "     8. GRIS", "Choix de la couleur")
        Wend
     
     
        Select Case Macouleur
            Case 1: couleur = wdRed 'rouge
            Case 2: couleur = wdGreen 'vert
            Case 3: couleur = wdBlue 'bleu
            Case 4: couleur = wdYellow 'jaune
            Case 5: couleur = wdTurquoise 'cyan
            Case 6: couleur = wdPink 'magenta
            Case 7: couleur = wdDarkRed 'il n'y a pas d'orange, j'ai mis rouge foncé
            Case 8: couleur = wdGray25 'gris
     
        End Select
        selection.Find.ClearFormatting
        selection.Find.Replacement.ClearFormatting
        Options.DefaultHighlightColorIndex = couleur
        With selection.Find.Replacement.Font
            .Bold = True
            .Color = couleur
        End With
     
        selection.Find.Replacement.Highlight = True
        With selection.Find
             .Text = MonTexte
             .Replacement.Text = MonTexte
             .Forward = True
        End With
        selection.Find.Execute Replace:=wdReplaceAll
      End If
     
      Options.DefaultHighlightColorIndex = wdYellow 'Remet la couleur par défaut = jaune
    End Sub
    Bonne chance!

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 6
    Points
    6
    Par défaut
    Super !!!
    Un tout grand merci, c'est exactement ce que je cherchais.
    Et pour l'orange, à défaut d'en mettre en fond, j'en mangerai

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

Discussions similaires

  1. [XL-2003] Changer la couleur de fond d'une cellule avec clic droit
    Par cyr.odi dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 10/09/2012, 11h33
  2. Réponses: 3
    Dernier message: 01/06/2006, 09h49
  3. Réponses: 3
    Dernier message: 28/02/2006, 15h39
  4. changer la couleur de fond d'une dialogue
    Par PRUVOT dans le forum MFC
    Réponses: 1
    Dernier message: 27/10/2005, 11h50
  5. Comment changer la couleur de fond d'une ligne du TRichEdit
    Par tibi666 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/09/2005, 17h31

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