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

Changement de couleur d'un graphique suivant le contenue d'une cellule

Mathu17

XLDnaute Nouveau
Bonjour,

Voila je vous expose mon problème. Par rapport au fichier excel el lien, je souhaite que chaque case du graphique change de couleur par rapport à la valeur indiquée dans la cellule correspondante. Tout en gardant la forme fixe du graphique. Pour l'onglet "Accident par semaine", si le nombre d'accident est supérieur à 0 en semaine 1 par exemple, dans le graphique la case correspondante à la semaine 1 doit être de couleur rouge par contre s'il n'y a pas d'accident la case doit etre de couleur vert.
J'ai essayé plusieurs choses notamment avec VBA mais sans succès.

Si quelqu'un a une solution. Merci de votre aide.

Cordialement,
 

Pièces jointes

  • indicateur sécurité.xls
    44 KB · Affichages: 35

Efgé

XLDnaute Barbatruc
Re : Changement de couleur d'un graphique suivant le contenue d'une cellule

Bonjour Mathu17 et bienvenu sur le forum,
En partant du principe que tes données sont bien plaçées comme dans ton exemple, et que si il n'y a pas d'accident la colonnes D est à 0,
une proposition à mettre dans un module standar, et valable pour la feuille active au moment de lancer la macro.
VB:
Sub ChartUpDate()
'Mise à jour du graphique
Dim G As Object, i&
Set G = ActiveSheet.ChartObjects(1).Chart
With G.SeriesCollection(1)
    For i = 1 To .Points.Count
        .Points(i).Interior.ColorIndex = IIf(Cells(i + 2, 4).Value = 0, 4, 3)
    Next i
End With
End Sub
Cordialement
 

Mathu17

XLDnaute Nouveau
Re : Changement de couleur d'un graphique suivant le contenue d'une cellule

Merci pour ton aide

Une autre question : y a t-il un moyen pour que le changement de couleur se fasse en direct sans etre obligé de relancer la macro à chaque fois ?
 

Efgé

XLDnaute Barbatruc
Re : Changement de couleur d'un graphique suivant le contenue d'une cellule

Re,
Tout dépend de la façon dont les données sont modifiées, par macro? , par formule ? par saisie?
Cordialement
 

Efgé

XLDnaute Barbatruc
Re : Changement de couleur d'un graphique suivant le contenue d'une cellule

Re
A mettre dans le code de la feuille concernée (clicdroit sur l'onglet / Visualiser le code.
L'exemple est fait pour les semaines.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim G As Object, i&
'Plage a adapter pour chaque feuille
If Not Intersect(Target, Range("D3:D54")) Is Nothing Then
    Set G = ActiveSheet.ChartObjects(1).Chart
    With G.SeriesCollection(1)
        For i = 1 To .Points.Count
            .Points(i).Interior.ColorIndex = IIf(Cells(i + 2, 4).Value = 0, 4, 3)
        Next i
    End With
End If
End Sub
Cordialement
 

Discussions similaires

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