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 changer la couleur de la forme en fonction de la valeur de la cellule dans Excel?

Modifier la couleur de la forme en fonction d'une valeur de cellule spécifique peut être une tâche intéressante dans Excel, par exemple si la valeur de cellule dans A1 est inférieure à 100, la couleur de la forme est rouge, si A1 est supérieur à 100 et inférieur à 200, La couleur de la forme est jaune, et lorsque A1 est plus grand que 200, la couleur de la forme est verte comme sur la capture d'écran suivante. Pour modifier la couleur de la forme en fonction d'une valeur de cellule, cet article vous présentera la méthode.

doc changer de forme couleur 1

Changer la couleur de la forme en fonction de la valeur de la cellule avec le code VBA


flèche bleue droite bulle Changer la couleur de la forme en fonction de la valeur de la cellule avec le code VBA


Le code VBA ci-dessous peut vous aider à changer la couleur de la forme en fonction de la valeur d'une cellule, procédez comme suit:

1. Cliquez avec le bouton droit sur l'onglet de la feuille dont vous souhaitez modifier la couleur, puis sélectionnez Voir le code dans le menu contextuel, dans le menu contextuel Microsoft Visual Basic pour applications fenêtre, copiez et collez le code suivant dans le champ vide Module fenêtre.

Code VBA: modifiez la couleur de la forme en fonction de la valeur de la cellule:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160704
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    If IsNumeric(Target.Value) Then
        If Target.Value < 100 Then
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbRed
        ElseIf Target.Value >= 100 And Target.Value < 200 Then
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbYellow
        Else
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbGreen
        End If
    End If
End Sub

doc changer de forme couleur 2

2. Et puis, lorsque vous entrez la valeur dans la cellule A1, la couleur de la forme sera modifiée avec la valeur de cellule que vous avez définie.

Note: Dans le code ci-dessus, A1 est la valeur de la cellule de votre couleur de forme serait modifiée en fonction de, et le 1 ovale est le nom de la forme de votre forme insérée, vous pouvez les changer selon vos besoins.



Outils de productivité recommandés

Office Tab

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

Kutools for Excel

étoile d&#39;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&#39;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&#39;é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.
    Mark · 6 months ago
    Hi... excellent solution... but how do I apply it to multiple shapes based on the corresponding values of a range of cells. Many thanks in advance for your help.
  • To post as a guest, your comment is unpublished.
    Cesare · 6 months ago
    How do I make the private sub to read the result from the AVERAGE(C1,C5,C9) calculation?

    Sub only works with numeric values; any thoughts and suggestions are greatly appreciated.
  • To post as a guest, your comment is unpublished.
    Steve A · 1 years ago
    Thanks for this which is really useful.

    I now want to use it with a pivot table on another worksheet which controls the data on the sheet with the shapes that I want to change colour. However, when I change the selection on the pivot table the data on the worksheet with the shapes is updated but the code does not run so the shapes do not change colour

    If I manually change the values the code runs and the colour of the shapes is updated.

    Question: what do i need to add to the code above to allow it to run automatically?
  • To post as a guest, your comment is unpublished.
    Yasir · 1 years ago
    How can this be applied if you have multiple shape in the same worksheet?
  • To post as a guest, your comment is unpublished.
    Alan · 1 years ago
    Great vba solution.

    It is possible to also use conditional formatting to colour the shapes.

    Set the name of each shape as the cell value. Using a With Each Shape then set the shape colour as the cell colour for all named shapes.

    The cell colour may be changed using conditional formatting based on numerical values.

    For example the colour of a semi transparent overlap on a city map can be used to graphically indicate population density per block with a graduated colour scheme.
    • To post as a guest, your comment is unpublished.
      Ed · 1 years ago
      Can you share an example of the code?