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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DanielCo
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
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
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
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
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
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
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" a écrit dans le message de groupe de discussion : 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
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" <jl.guitard@wanadoo.fr> a écrit dans le message de groupe de discussion :
4d283e78$0$7702$ba4acef3@reader.news.orange.fr...
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
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" a écrit dans le message de groupe de discussion : 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