Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…