VBA couleurs abscisses

aubrespinj Messages postés 2 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011 - 7 sept. 2011 à 13:52
aubrespinj Messages postés 2 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011 - 7 sept. 2011 à 16:06
Bonjour,

je cherche à colorer les barres d'un histogramme en fonction des données de l'axe des abscisses (non pas des étiquettes situées sur les barres)...

Concrètement, le graph présente les résultats de plusieurs entreprises et est modifié chaque jour...ainsi je veux que la barre qui représente le CA de l'entreprise XX soit toujours bleue et celle de l'entreprise Y toujours rouge...même si d'un jour à l'autre la barre n'est plus au même endroit (CA différent) !

J'ai trouvé le code suivant :
Sub colorgraph()
Dim i As Integer

For i = 1 To Sheets(1).ChartObjects("Chart 20").Chart.SeriesCollection(1).Points.Count
Sheets(1).ChartObjects("Chart 20").Chart.SeriesCollection(1).Points(i).ApplyDataLabels Type:= _
xlDataLabelsShowLabel, AutoText:=False
If Sheets(1).ChartObjects("Chart 20").Chart.SeriesCollection(1).Points(i).DataLabel.Text = "XXX " Then
Sheets(1).ChartObjects("Chart 20").Chart.SeriesCollection(1).Points(i).Interior.Color = vbRed
End If
If Sheets(1).ChartObjects("Chart 20").Chart.SeriesCollection(1).Points(i).DataLabel.Text = "YYY" Then
Sheets(1).ChartObjects("Chart 20").Chart.SeriesCollection(1).Points(i).Interior.ColorIndex = 43
End If

Next

End Sub

Le problème c'est que ce code me rajoute le nom des différentes entreprises (qui sont déjà en abscisses) sur les barres !
Je cherche donc à produire un code qui puisse directement regarder le texte de la barre des abscisses et colorer les barres en fonction !

Merci pour votre aide !

2 réponses

sebi76 Messages postés 4 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 12 septembre 2011
7 sept. 2011 à 16:03
Bonjour,

as-tu essayer de commenter/supprimer ta ligne de code:
 Sheets(1).ChartObjects("Chart 20").Chart.SeriesCollection(1).Points(i).ApplyDataLabels Type:= _
xlDataLabelsShowLabel, AutoText:=False 

??

Sebi
0
aubrespinj Messages postés 2 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011
7 sept. 2011 à 16:06
je pense effectivement qu'il y a quelque chose à jouer là...mais je ne sais pas vraiment quoi modifier!
0
Rejoignez-nous