Graphique tricolore avec vba couleurs conditionnelles (urgent)
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, je ne m'y connais pas du tout en vba,
je souhaiterai trouvé un code à insérer pour un graphique qui me permette d'afficher les barres en fonction des données (vert brillant pour % inférieur à 80 % , orange compris entre 80 et 100 % et rouge au delà de 100%).
je suis sur excel 2003.
merci d'avance
je souhaiterai trouvé un code à insérer pour un graphique qui me permette d'afficher les barres en fonction des données (vert brillant pour % inférieur à 80 % , orange compris entre 80 et 100 % et rouge au delà de 100%).
je suis sur excel 2003.
merci d'avance
A voir également:
- Graphique tricolore avec vba couleurs conditionnelles (urgent)
- Changer carte graphique - Guide
- Excel compter cellule couleur sans vba - Guide
- Graphique sparkline - Guide
- Graphique camembert excel - Guide
- La boite à couleurs - Télécharger - Divers Photo & Graphisme
5 réponses
Bonjour,
Regardez par-là : https://forums.commentcamarche.net/forum/affich-16554793-excel-mise-en-forme-conditionnelle-graphique
Regardez par-là : https://forums.commentcamarche.net/forum/affich-16554793-excel-mise-en-forme-conditionnelle-graphique
Bonjour,
Excusez mon manque de précision, voici l'endroit précis : https://forums.commentcamarche.net/forum/affich-16554793-excel-mise-en-forme-conditionnelle-graphique#37
Excusez mon manque de précision, voici l'endroit précis : https://forums.commentcamarche.net/forum/affich-16554793-excel-mise-en-forme-conditionnelle-graphique#37
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour à tous,
j'ai trouvé la réponse que je voulais sur un autre forum.
pour ceux que sa interesse voici le code vba que j'ai obtenu pour ma demande (à adapter). je l'ai testé et fonctionne sans problème.
Sub CGraphique()
Application.ScreenUpdating = False
ActiveSheet.ChartObjects(1).Activate
For A = 1 To ActiveChart.SeriesCollection(1).Points.Count
If ActiveChart.SeriesCollection(1).Points(A).HasDataLabel = False Then test = 1
ActiveChart.SeriesCollection(1).Points(A).HasDataLabel = True
rep = ActiveChart.SeriesCollection(1).Points(A).DataLabel.Text
mtexte = rep
If (Val(mtexte)) < 80 Then
ActiveChart.SeriesCollection(1).Points(A).Interior.ColorIndex = 4
ElseIf (Val(mtexte)) <= 100 And (Val(mtexte)) >= 80 Then
ActiveChart.SeriesCollection(1).Points(A).Interior.ColorIndex = 46
ElseIf (Val(mtexte)) > 100 Then
ActiveChart.SeriesCollection(1).Points(A).Interior.ColorIndex = 3
End If
If test = 1 Then ActiveChart.SeriesCollection(1).Points(A).HasDataLabel = False
Next A
Application.ScreenUpdating = True
Range("A1").Select
End Sub
j'ai trouvé la réponse que je voulais sur un autre forum.
pour ceux que sa interesse voici le code vba que j'ai obtenu pour ma demande (à adapter). je l'ai testé et fonctionne sans problème.
Sub CGraphique()
Application.ScreenUpdating = False
ActiveSheet.ChartObjects(1).Activate
For A = 1 To ActiveChart.SeriesCollection(1).Points.Count
If ActiveChart.SeriesCollection(1).Points(A).HasDataLabel = False Then test = 1
ActiveChart.SeriesCollection(1).Points(A).HasDataLabel = True
rep = ActiveChart.SeriesCollection(1).Points(A).DataLabel.Text
mtexte = rep
If (Val(mtexte)) < 80 Then
ActiveChart.SeriesCollection(1).Points(A).Interior.ColorIndex = 4
ElseIf (Val(mtexte)) <= 100 And (Val(mtexte)) >= 80 Then
ActiveChart.SeriesCollection(1).Points(A).Interior.ColorIndex = 46
ElseIf (Val(mtexte)) > 100 Then
ActiveChart.SeriesCollection(1).Points(A).Interior.ColorIndex = 3
End If
If test = 1 Then ActiveChart.SeriesCollection(1).Points(A).HasDataLabel = False
Next A
Application.ScreenUpdating = True
Range("A1").Select
End Sub