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 colorier tableau basé sur la couleur de la cellule dans Excel?

Normalement, lorsque vous créez un graphique, la couleur de la barre de colonnes est la couleur par défaut. Si vous avez besoin de formater la couleur remplie sur chaque barre en fonction des couleurs de la cellule, comme illustré ci-dessous, comment pouvez-vous le résoudre dans Excel?

Colorie le graphique avec une série de données basée sur la couleur de la cellule avec le code VBA

Colore le graphique avec plusieurs séries de données basées sur la couleur de la cellule avec le code VBA


Colorie le graphique avec une série de données basée sur la couleur de la cellule avec le code VBA


Avec le code VBA suivant, vous pouvez rapidement modifier la couleur du graphique qui contient une série de données basée sur la couleur des valeurs de cellule d'origine, procédez comme suit:

1. Tout d'abord, créez un graphique à barres ou à colonnes comme illustré ci-dessous (Sélectionnez des données et cliquez sur insérer > Insérer une colonne ou un diagramme à barres):

2. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

3. Cliquez insérer > Moduleet collez le code suivant dans la fenêtre du module.

Code VBA: Barre de couleurs avec une série de données basée sur la couleur de la cellule:

Sub ColorChartColumnsbyCellColor()
'Updateby Extendoffice
    Dim xChart As Chart
    Dim I As Long, xRows As Long
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart
    If xChart Is Nothing Then Exit Sub
    With xChart.SeriesCollection(1)
        Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1))
        xRows = xRg.Rows.Count
        Set xRg = xRg(1)
        For I = 1 To xRows
            .Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 0).Interior.ColorIndex)
        Next
    End With
End Sub

Note: Dans le code ci-dessus, Graphique 1 est le nom du diagramme que vous voulez utiliser, veuillez le changer pour le vôtre.

4. Après avoir collé le code ci-dessus, appuyez sur F5 clé pour exécuter ce code, et la couleur des barres de graphique ont été modifiées en fonction de la couleur de la cellule d'origine, voir capture d'écran:


Colore le graphique avec plusieurs séries de données basées sur la couleur de la cellule avec le code VBA

Le code ci-dessus ne peut être appliqué qu'à un seul graphique de séries de données. Si le graphique comporte plusieurs séries de données, veuillez appliquer le code VBA suivant:

1. Veuillez créer la barre ou le graphique à colonnes qui contient plusieurs séries de données comme suit capture d'écran:

2. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

3. Cliquez insérer > Moduleet collez le code suivant dans la fenêtre Module.

Code VBA: Barres de couleurs avec plusieurs séries de données basées sur la couleur de la cellule:

Sub CellColorsToChart()
'Updateby Extendoffice
    Dim xChart As Chart
    Dim I As Long, J As Long
    Dim xRowsOrCols As Long, xSCount As Long
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart
    If xChart Is Nothing Then Exit Sub
    xSCount = xChart.SeriesCollection.Count
    For I = 1 To xSCount
        J = 1
        With xChart.SeriesCollection(I)
            Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1))
            If xSCount > 4 Then
                xRowsOrCols = xRg.Columns.Count
            Else
                xRowsOrCols = xRg.Rows.Count
            End If
            For Each xCell In xRg
                .Points(J).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
                .Points(J).Format.Line.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
                J = J + 1
            Next
        End With
    Next
End Sub

4. Puis appuyez F5 clé pour exécuter ce code, les barres de graphique sont remplis avec la couleur des cellules d'origine à la fois, voir capture d'écran:

À noter :

1. Dans le code ci-dessus, Graphique 1 est le nom du diagramme que vous voulez utiliser, veuillez le changer pour le vôtre.

2. Ce code peut également être appliqué à un graphique linéaire.



Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

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.
    Lisa · 3 months ago
    Thank you for the codes! How would you add a conditional format when the format is already established?
  • To post as a guest, your comment is unpublished.
    Armin · 7 months ago
    Thank you for these codes! This was exactly what I've been looking for with one detail not quite fitting. When I ran the code, the bar graphs colored in correctly but not legend which stayed unchanged. Is there a variation to the code that would include the legend? Or is there a way to match the Legend to the changes in the chart without a code?
  • To post as a guest, your comment is unpublished.
    WILLIAN GUSMÃO · 7 months ago
    If i have more charts in my sheet? do you have another code?