Changement de couleur de formes en fonction de donnés.

  • Initiateur de la discussion Initiateur de la discussion Rall
  • Date de début Date de début

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 !

R

Rall

Guest
Bonjour à tous,

Je cherche à modifier la couleur de fond d'un objet en fonction de données placés dans une cellule.


Par exemple la cellule B4 est inférieur à 50 la formelibre2 doit être de la couleur orange.

Je cherche à obtenir trois couleurs différentes selon les données, je ne sais pas encore comment le changement serra déclenché :

- Soit dés qu'il y'a changement de contenue de cellule il y'a mise à jour de la couleur.
- Soit il est nécessaire d'appuyer sur un bouton de mise à jour... A voir selon les possibilités.

Merci d'avance de votre aide, cela donnerais énormément de clarté et de visibilité à mon fichier (il pourra être utilisé et compris par le plus grand nombre).

Romain.
 
Re : Changement de couleur de formes en fonction de donnés.

Bonjour, le Fil, le Forum,

Peut-être ainsi :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [b4] < 50 Then
ActiveSheet.Shapes("Sourire 1").Fill.ForeColor.RGB = RGB(255, 192, 0)
Else
ActiveSheet.Shapes("Sourire 1").Fill.ForeColor.RGB = RGB(0, 256, 0)
End If
End Sub
A bientôt 🙂
 

Pièces jointes

Re : Changement de couleur de formes en fonction de donnés.

Bonjour le fil 🙂,
Une MFC en icones, tu n'aimes pas 🙄 ?
Bonne suite 😎
Ajout : bing, je me suis cogné à l'âne 😛... Gros bisous 00 (et félicitations pour les progrès 😉) 🙂
 

Pièces jointes

Dernière édition:
Re : Changement de couleur de formes en fonction de donnés.

Le fichier Feux est pas mal mais ne ne capte pas bien comment fonctionne le changement de couleur.

Je joint un fichier pour illustrer.


Edit: Le fichier sourire est pas mal du tout je vais voir si je peut m'en sortir avec, pour les feux l'objet est simpa mais pas adapté (comment il est fait d'ailleurs? ^^)

Merci de vos réponses rapide!
 

Pièces jointes

Dernière modification par un modérateur:
Re : Changement de couleur de formes en fonction de donnés.

On peut mettre des valeurs sur les objets, pas obligatoire mais option simpa.

A et double zéro le début de ta fonction est impératif ou modifiable?
"Private Sub Worksheet_SelectionChange(ByVal Target As Range)"
 
Re : Changement de couleur de formes en fonction de donnés.

Re 🙂,
pas aussi sofistiqué que JNP mais en prenant le principe de 00
Je l'ai bien connue, Sophie Stickée, une gentil fille 😛...
A noter que j'ai fait une légère erreur, c'est une procédure
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
et non
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
qu'il faut utiliser 😱...
Le problème, cher voisin 😉, c'est que If...Else...End If ne prends que 2 cas de figures 😱...
Dans une MFC, ça fonctionnerait vu qu'il y aurait le cas "neutre", mais dans une forme, ça ne parait pas être le cas 😱...
D'où l'utilisation d'un ElseIf pour le 3ème cas, qui pourrait être remplacé par un Select Case avec les 3 cas de figure 😛 :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaCouleur As Long
If Intersect(Target, Range("K10:M10")) Is Nothing Or Target.Count > 1 Then Exit Sub
Select Case Target
Case 1 To 25
MaCouleur = 5066944
Case 26 To 50
MaCouleur = 4626167
Case Is > 50
MaCouleur = 5880731
Case Else
MaCouleur = 0
End Select
Select Case Target.Address
Case "$K$10"
ActiveSheet.Shapes("Forme libre 5").Fill.ForeColor.RGB = MaCouleur
Case "$L$10"
ActiveSheet.Shapes("Forme libre 6").Fill.ForeColor.RGB = MaCouleur
Case "$M$10"
ActiveSheet.Shapes("Forme libre 7").Fill.ForeColor.RGB = MaCouleur
End Select
End Sub
Après, le fait de calculer la forme en fonction de la cellule renseignée peut permettre de simplifier s'il y a beaucoup de formes à modifier 🙄...
Bonne suite 😎
 
Re : Changement de couleur de formes en fonction de donnés.

Bonjour,

Avec fonction perso (modifs + faciles pour utilisateur)

=colorieimage(A6;SI(K10>50;5880731;SI(K10>25;4626167;255)))

La valeur peut être le résultat d'une formule et non pas une valeur saisie.


JB
 

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
0
Affichages
433
Retour