Forme excel de couleur suivant valeurs

Résolu/Fermé
freddv Messages postés 13 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 18 septembre 2012 - 11 févr. 2010 à 16:57
supraman46 Messages postés 53 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 15 décembre 2020 - 26 mai 2016 à 20:34
Bonjour,
voici mon problème, j'ai récupéré un bout de code vba pour excel qui ne me satisfait pas entièrement, je poste donc mon message si toutefois qq'un connait la réponse...

La problématique : prendre une forme excel (Ellipse par exemple)est la colorier en vert si le résultat est positif et en rouge si négatif.

Le code

Private Sub Worksheet_Change(ByVal Target As Range)

With ActiveSheet.Shapes("Ellipse 1").OLEFormat.Object
.Interior.ColorIndex = Range("A1").Interior.ColorIndex
End With
End Sub


Les problèmes de ce code : pas possible de fonctionner avec la mise en forme automatique, le code regarde juste la couleur de la cellule en A1 dans l'exemple et colorie l'Ellipse 1 de la couleur de fond de cette même case.

Si quelqu'un avait une idée, cela m'arrangerai bien.Merci beaucoup
A voir également:

2 réponses

Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 073
11 févr. 2010 à 17:33
Salut,

Si j'ai bien tout compris, si la valeur est positive en A1 l'éllipse est verte et si est A1 négatif en rouge qui s'applique sur l'Ellipse1.
Regardes ce code

Private Sub Worksheet_Change(ByVal Target As Range)
If [A1] < 0 Then
With ActiveSheet.Shapes("Ellipse 1").OLEFormat.Object
.Interior.ColorIndex = 3
End With
Else
With ActiveSheet.Shapes("Ellipse 1").OLEFormat.Object
.Interior.ColorIndex = 4
End With
End If
End Sub

Mais si tu remplaces l'éllipse par un rond police Webdings tu peux passer par une mise en forme conditionnelle directe
1
supraman46 Messages postés 53 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 15 décembre 2020 1
26 mai 2016 à 18:58
Bonjour Mike,

Premièrement merci beaucoup pour ton aide avec ce code :) Je voulais te demander s'il serait possible aussi d'y ajouter une couleur spécifique pour la police? Exemple pour le "color index 3 j'aimerais que la police soit noire et pour l'autre color index elle soit blanche.

est-ce possibe?

merci à l'avance pour ton aide
0
Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 073
26 mai 2016 à 20:09
Bonsoir,

tu aurais dû ouvrir ta propre discussion, regarde comme cela

Private Sub Worksheet_Change(ByVal Target As Range)
If [A1] < 0 Then
With ActiveSheet.Shapes("Ellipse 1").OLEFormat.Object
.Interior.ColorIndex = 3
.Font.ColorIndex = 1
End With
Else
With ActiveSheet.Shapes("Ellipse 1").OLEFormat.Object
.Interior.ColorIndex = 4
.Font.ColorIndex = 2
End With
End If
End Sub
0
supraman46 Messages postés 53 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 15 décembre 2020 1 > Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024
26 mai 2016 à 20:34
Salut Mike,

Merci pour la mise à jour et désolé la prochaine fois je vais ouvrir un nouveau sujet sans faute.

Un gros merci encore!

bonne soirée
0
freddv Messages postés 13 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 18 septembre 2012
12 févr. 2010 à 08:35
Merci beaucoup Mike.
0