Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment changer la couleur de la forme en fonction de la valeur de la cellule dans Excel?

Changer 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 la cellule dans A1 est inférieure à 100, la couleur de la forme est rouge, si A1 est supérieur à 100 et inférieur à 200, le la couleur de la forme est jaune et lorsque A1 est supérieur à 200, la couleur de la forme est verte, comme illustré ci-dessous. Pour modifier la couleur de la forme en fonction d'une valeur de cellule, cet article présentera une méthode pour vous.

doc changer la couleur de la forme 1

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


flèche bleue bulle droite 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 d'une valeur de cellule, procédez comme suit:

1. Cliquez avec le bouton droit sur l'onglet de la feuille dont vous souhaitez modifier la couleur de la forme, puis sélectionnez Voir le code dans le menu contextuel, dans le popped out Microsoft Visual Basic pour applications fenêtre, veuillez copier et coller le code suivant dans l'espace 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 la couleur de la forme 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 la cellule que vous avez définie.

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


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
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.
    Ryan · 3 years 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 · 3 years 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 · 3 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 · 4 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 · 4 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 · 4 years ago
      Can you share an example of the code?
  • To post as a guest, your comment is unpublished.
    Aleen Khan · 4 years ago
    I have 300 shapes in a sheet. Is it possible to check the adjacent or linked cell's value (empty or non-empty) in a sheet and color the linked shapes through VBA code?
  • To post as a guest, your comment is unpublished.
    Edward · 4 years ago
    How about if we have more than 1 object in the worksheet which the colors change according to the value input say in A1, B1,C1....