Graphisme, etiquette de données

Le
jean-luc Guitard
Bonjour,
Ce petit bout de programme transmis par un bénévole sur ce forum permet de coloriser un graphique secteur, avec des
couleurs (Bleu, rouge, verte) en fonction des valeurs croissantes d'une base de données, je souhaiterai pouvoir mettre
en évidence en rouge l'étiquette de la plus grande valeur, mais sa dépasse mon peu de connaissance
si quelqu'un peut me venir en aide, merci

With Graphe.Chart.SeriesCollection(1)
Var = .Values
cols = Array(RGB(0, 241, 0), RGB(232, 0, 0), RGB(0, 204, 255))
vals = Array(Application.Min(Var), Application.Large(Var, 2), Application.Max(Var))
For a = 1 To 3
X = Application.Index(cols, Application.Match(Var(a), vals, 0))
.Points(a).Interior.Color = X
Next a
End With
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #22999921
Bonjour.
Dans l'exemple suivant, l'étiquette a le fondrouge et une police de
taille 14 :

With Graphe.Chart.SeriesCollection(1)
Var = .Values
cols = Array(RGB(0, 241, 0), RGB(232, 0, 0), RGB(0,
204, 255))
vals = Array(Application.Min(Var),
Application.Large(Var, 2), Application.Max(Var))
For a = 1 To 3
X = Application.Index(cols,
Application.Match(Var(a), vals, 0))
.Points(a).Interior.Color = X
If Application.Match(Var(a), vals, 0) = 3
Then
.ApplyDataLabels
With
.Points(a).DataLabel.Format.TextFrame2.TextRange.Font
.Size = 14 'taille de la police

End With
With .Points(a).DataLabel
.Interior.ColorIndex = 3
End With
End If
Next a
End With

Cordialement.
Daniel


Bonjour,
Ce petit bout de programme transmis par un bénévole sur ce forum permet de
coloriser un graphique secteur, avec des couleurs (Bleu, rouge, verte) en
fonction des valeurs croissantes d'une base de données, je souhaiterai
pouvoir mettre en évidence en rouge l'étiquette de la plus grande valeur,
mais sa dépasse mon peu de connaissance
si quelqu'un peut me venir en aide, merci

With Graphe.Chart.SeriesCollection(1)
Var = .Values
cols = Array(RGB(0, 241, 0), RGB(232, 0, 0), RGB(0,
204, 255))
vals = Array(Application.Min(Var),
Application.Large(Var, 2), Application.Max(Var))
For a = 1 To 3
X = Application.Index(cols,
Application.Match(Var(a), vals, 0))
.Points(a).Interior.Color = X
Next a
End With
jean-luc Guitard
Le #23000731
Bonjour,
Merci encore une fois à DanielCo
J'ai essayé de mettre le texte de l'étiquette de la plus grande valeur en rouge, sans mettre le fond rouge en rajoutant
la ligne
.Color = 3
et supprimer la ligne .ApplyDataLabels qui me changée l'étiquette qui est en % sous la forme " Level1 45%"
ça ne fonctionne pas l'étiquette de données reste en noir

With graphe.Chart.SeriesCollection(1)
Var = .Values
cols = Array(RGB(0, 241, 0), RGB(232, 0, 0), RGB(0, 204, 255))
Vals = Array(Application.Min(Var), Application.Large(Var, 2), Application.Max(Var))
For a = 1 To 3
X = Application.Index(cols, Application.Match(Var(a), Vals, 0))
.Points(a).Interior.Color = X
If Application.Match(Var(a), Vals, 0) = 3 Then
''.ApplyDataLabels
With .Points(a).DataLabel.Format.TextFrame2.TextRange.Font
.Size = 14 'taille de la police
.Color = 3
End With
End If
Next a
End With
Cordialement.


Jean-Luc
jean-luc Guitard
Le #23001111
J'ai trouvé il suffit de mettre
.Fill.ForeColor.RGB = RGB(255, 0, 0) au lieu de .Color = 3
toujours des pb de syntaxe...
bonne journée

"jean-luc Guitard" 4d283e78$0$7702$
Bonjour,
Merci encore une fois à DanielCo
J'ai essayé de mettre le texte de l'étiquette de la plus grande valeur en rouge, sans mettre le fond rouge en
rajoutant la ligne
.Color = 3
et supprimer la ligne .ApplyDataLabels qui me changée l'étiquette qui est en % sous la forme " Level1 45%"
ça ne fonctionne pas l'étiquette de données reste en noir

With graphe.Chart.SeriesCollection(1)
Var = .Values
cols = Array(RGB(0, 241, 0), RGB(232, 0, 0), RGB(0, 204, 255))
Vals = Array(Application.Min(Var), Application.Large(Var, 2), Application.Max(Var))
For a = 1 To 3
X = Application.Index(cols, Application.Match(Var(a), Vals, 0))
.Points(a).Interior.Color = X
If Application.Match(Var(a), Vals, 0) = 3 Then
''.ApplyDataLabels
With .Points(a).DataLabel.Format.TextFrame2.TextRange.Font
.Size = 14 'taille de la police
.Color = 3
End With
End If
Next a
End With
Cordialement.


Jean-Luc
Publicité
Poster une réponse
Anonyme