Couleur d'une forme en fonction de la valeur d'une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

petipouf

XLDnaute Nouveau
Bonjour à tous,
Je souhaite modifier la couleur d'une forme en fonction d'une condition.
Exemple : un disque se colore en rouge si la cellule A1 < 100 et qui se colore en vert si la cellule A1>= 100.
Je n'ai aucune connaissance en macro.
J'ai pu trouver un code sur internet qui réaliserait une fonction analogue:
"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("B3").Value = 0 Then
ActiveSheet.Shapes(1).Fill.ForeColor.SchemeColor = 11
ElseIf Range("B3").Value = 5 Then
ActiveSheet.Shapes(1).Fill.ForeColor.SchemeColor = 10
End If
End Sub
"
mais je ne sais pas quoi en faire
Pourriez-vous m'aider svp 🙂 🙂 🙂 🙂 🙂 🙂 🙂
 
Bonjour,

Je mettrais plutôt le code dans l'événement "Change" plutôt que SelectionChange, avec ce code à insérer dans le module privé de la feuille concernée en modifiant au besoin les paramètre RGB... :

Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet.Shapes(1)
.Select
Select Case Range("A1")
Case Is < 100
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(0, 255, 0)
Case Else
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 0, 0)
End Select
End With
Target.Select
End Sub
 
Bonjour Joël
Tout d'abord merci beaucoup du temps que tu m'accordes!

Je dois me servir de la formule, pourrais-tu m'éclairer ?
Voici comment je procède:
j'ouvre Excel, je crée l'ellipse,
ensuite je clique dessus et met: affecter une macro.
Par défaut apparaît: nom de la macro: ellipse1_Cliquer
Je la modifie.
Dans le code VBA il y a pour le moment:

Sub Ellipse1_Cliquer()
End Sub

Je supprime ces éléments et y ajoute ton code.
Malheureusement rien ne se passe...

Encore merci de ton aide!
 
Bonjour,
Ceci devrait être suffisant
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Shapes(1).Fill.ForeColor.SchemeColor = IIf(Range("a1").Value < 100, 10, 11)
End Sub

Pour le mettre en place
-Copier le code ci-dessus
-Sélectionner la feuille ou se trouve la forme
-Alt+F11
-Coller le code dans la grande fenêtre (blanche)🙂
-Retourner sur la feuille et tester en changeant la valeur de A1
Exemple en pj
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour