Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment insérer une liste déroulante avec code couleur dans le tableau Word?

En supposant que j'ai un tableau dans mon document Word et que je souhaite maintenant insérer une liste déroulante avec code couleur dans une colonne du tableau. Cela signifie que lorsque je sélectionne une option dans la liste déroulante, la couleur de la cellule devient rouge et lorsque je sélectionne une autre option dans la liste déroulante, la couleur de la cellule devient verte, comme illustré ci-dessous. Comment pourriez-vous résoudre ce travail dans un document Word?

doc couleur codé déroulant

Insérer une liste déroulante avec code couleur dans un document Word avec code VBA


Insérer une liste déroulante avec code couleur dans un document Word avec code VBA

Les étapes suivantes peuvent vous aider à terminer cette tâche selon vos besoins: insérez d'abord la liste déroulante, puis appliquez la couleur pour la liste déroulante. S'il vous plaît faire comme ceci:

1. Sélectionnez une cellule dans la table où vous souhaitez insérer la liste déroulante, puis cliquez sur Développeur > Contrôle du contenu de la liste déroulante icône, voir capture d'écran:

Doc code couleur déroulant 1

2. Le menu déroulant est inséré dans la cellule spécifique, puis cliquez sur Développeur > Propriétés, voir capture d'écran:

Doc code couleur déroulant 2

3. Dans le Propriétés du contrôle de contenu boîte de dialogue, effectuez les opérations suivantes:

(1.) Entrez le nom du titre dans le Titre zone de texte;

(2.) Cliquez sur Ajoutez bouton aller à la Ajouter un choix dialogue;

(3.) Dans le Ajouter un choix boîte de dialogue, tapez l'élément de liste déroulante dans le Nom d'affichage zone de texte.

Doc code couleur déroulant 3

4. Répétez l'étape 3 pour insérer d'autres éléments de liste déroulante selon vos besoins.

5. Après avoir créé la première liste déroulante, vous pouvez la copier et la coller selon vos besoins. Voir la capture d'écran:

Doc code couleur déroulant 4

6. Ensuite, vous devez appliquer un code VBA, s'il vous plaît maintenez la ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

7. Dans le Microsoft Visual Basic pour applications fenêtre, double-cliquez Ce document de le Projet-Projet volet pour ouvrir le mode, puis copiez et collez le code suivant dans le module vide.

Code VBA: Insérer une liste déroulante avec code couleur dans la table d'un document Word:

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
With ContentControl.Range
    If ContentControl.Title = "Status" Then
        Select Case .Text
            Case "Complete"
                .Cells(1).Shading.BackgroundPatternColor = wdColorRed
            Case "In Progress"
                .Cells(1).Shading.BackgroundPatternColor = wdColorGreen
            Case "Not Start"
                .Cells(1).Shading.BackgroundPatternColor = wdColorBlue
            Case Else
                .Cells(1).Shading.BackgroundPatternColor = wdColorAutomatic
        End Select
    End If
End With
End Sub

Doc code couleur déroulant 5

Note: Dans le code ci-dessus, Statut est le nom du titre lorsque vous créez la liste déroulante et Achevée, En Cours, Ne démarre pas sont les éléments de la liste déroulante, vous pouvez les modifier vous-même. Et vous pouvez également changer la couleur selon vos besoins.

8. Ensuite, enregistrez et fermez la fenêtre de code, maintenant, lorsque vous sélectionnez un élément dans la liste déroulante, sa couleur relative sera remplie avec la cellule, voir la capture d'écran:

doc couleur codé déroulant




Outils de productivité Word recommandés

Kutools For Word - Plus de fonctionnalités avancées 100 pour Word, économisez votre% de temps 50

  • Des opérations compliquées et répétées peuvent être effectuées en une seconde.
  • Insérez plusieurs images sur des dossiers dans un document Word à la fois.
  • Fusionner et combiner plusieurs fichiers Word sur plusieurs dossiers en un seul avec votre ordre souhaité.
  • Divisez le document actuel en documents distincts en fonction de l'en-tête, du saut de section ou d'un autre critère.
  • Convertir des fichiers entre Doc et Docx, Docx et PDF, une collection d'outils pour les conversions et la sélection courantes, etc.
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Hayley · 7 days ago
    Hello, is there a way to do multiple color-coded drop downs within one document? Thank you!
  • To post as a guest, your comment is unpublished.
    Jaimes · 1 months ago
    Hi, awesome!!! But is there a way to change the color / text of another cell in the same row but in different column? For example: instead of changing the background of "Complete", change the background of "Project-001" . Help me please. Thanks in advance
  • To post as a guest, your comment is unpublished.
    Jericho · 3 months ago
    Can I color the entire corresponding row instead of just a cell?
    • To post as a guest, your comment is unpublished.
      skyyang · 3 months ago
      Hello, Jericho,
      The below code can help you to deal with your problem, please try it:(You can set the RGB color to your need)

      Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
      With ContentControl.Range
      If ContentControl.Title = "Status" Then
      Select Case .Text
      Case "Complete"
      .Rows.Shading.BackgroundPatternColor = RGB(255, 0, 0)
      Case "In Progress"
      .Rows.Shading.BackgroundPatternColor = RGB(0, 255, 64)
      Case "Not Start"
      .Rows.Shading.BackgroundPatternColor = RGB(0, 0, 255)
      Case Else
      .Rows.Shading.BackgroundPatternColor = wdColorAutomatic
      End Select
      End If
      End With
      End Sub
  • To post as a guest, your comment is unpublished.
    Raj · 6 months ago
    Instead of colors, could we use symbols? like if 'completed' display symbol with character code 252, if not started then symbol with character code 88 etc. can you share the vba code using symbols as display plz?
  • To post as a guest, your comment is unpublished.
    Patti · 8 months ago
    Could I modify this code to have it highlight any drop down choice without listing all of them out?
  • To post as a guest, your comment is unpublished.
    Shannon · 9 months ago
    Hi, Thank you for this. Is there a way of only changing the text color and not the entire cell?
    • To post as a guest, your comment is unpublished.
      skyyang · 9 months ago
      Hi, Shannon,
      To change the text color instead of the background color, the below VBA code can help you, please try it, hope it can help you!

      Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
      With ContentControl.Range
      If ContentControl.Title = "Status" Then
      Select Case .Text
      Case "Complete"
      .Cells(1).Range.Font.Color = wdColorRed
      Case "In Progress"
      .Cells(1).Range.Font.Color = wdColorGreen
      Case "Not Start"
      .Cells(1).Range.Font.Color = wdColorBlue
      Case Else
      .Cells(1).Range.Font.Color = wdColorAutomatic
      End Select
      End If
      End With
      End Sub
      • To post as a guest, your comment is unpublished.
        Bryan Rantala · 8 months ago
        Struggling here to apply this as a style rather than a color or shade.
  • To post as a guest, your comment is unpublished.
    mark · 11 months ago
    Could I enter custom colors? (rgb)
  • To post as a guest, your comment is unpublished.
    Paul · 11 months ago
    this worked grate! Thanks. I tried to apply same code to another drop down content box in same document and I'm having trouble. Don't know how to get tweo in the VBA window. I get 'compile error, Ambiguous name detected: Document_ContentControlOnExit'
  • To post as a guest, your comment is unpublished.
    Z · 1 years ago
    When I exit and reopen the program, I have to reenter the VBA code. How do I make it so that it saves?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hello,
      To save the vba code when opening the file next time, you should save the word file as Word Macro-Enabled Document format. Please try it, hope it can help you!