Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ChartArea.Fill avec dégradé de plusieurs points

11 réponses
Avatar
Fdecourt
Bonjour =E0 tous,

Je profite de ces tristes et pluvieuse, qui je l'esp=E8re ne vous d=E9prime=
pas trop pour mettre en forme des graphiques sous Excel.

Je suis Excel 2007 (et je ne cherche aucune r=E9trocompatibilit=E9 avec des=
versions pr=E9c=E9dente)
Il ne me reste qu'un probl=E8me que je n'arrive pas =E0 r=E9soudre malgr=E9=
de multiples recherches sur internet.=20
Je cr=E9=E9 sans probl=E8me mon graphique :=20
Set myGraph =3D ActiveSheet.ChartObjects.Add(Left:=3D100, Width:=3D375,=
Top:=3D75, Height:=3D225)
With myGraph
.Name =3D monNom
.RoundedCorners =3D True
With .Chart.SeriesCollection.NewSeries
.Name =3D monTitre
.Values =3D ValuesRange
.XValues =3D XValuesRange
End With
.Chart.ChartType =3D xl3DPie
.Chart.Elevation =3D 30
End With

Je souhaite ensuite donner =E0 ce graphique un certain fond d=E9grad=E9, av=
ec 3 points de couleurs sp=E9cifique en RGB.
Manuellement l'information se trouve dans "Format de la zone Graphique" > R=
emplissage > Remplissage d=E9grad=E9 > Type Lin=E9aire > Points de d=E9grad=
=E9s.

Je souhaiterai avoir 3 points de d=E9grad=E9 avec les valeurs RGB suivantes=
:

. point 1 : 154, 181, 228
. point 2 : 194, 209, 237
. point 3 : 225, 232, 245

Or je ne trouve nul part ou ajouter ces points, ni comment les modifier, et=
encore moins leur appliquer un format RGB.

Merci pour votre coup de main.

Cordialement,

F.

10 réponses

1 2
Avatar
Fdecourt
ll faut lire

Je profite de ces tristes et pluvieuses journées, ... ;)
Avatar
DanielCo
Bonjour,
Les jours sont gris, pluvieux et tu as Excel 2007; trois raisons de se
suicider ;-)))
Pour les graphiques (entre autres), l'enregistreur de macros
n'enregistre rien. Je regarde ce qu'il peut faire avec Excel 2010.
Cordialement.
Daniel


Bonjour à tous,

Je profite de ces tristes et pluvieuse, qui je l'espère ne vous déprime pas
trop pour mettre en forme des graphiques sous Excel.

Je suis Excel 2007 (et je ne cherche aucune rétrocompatibilité avec des
versions précédente) Il ne me reste qu'un problème que je n'arrive pas à
résoudre malgré de multiples recherches sur internet. Je créé sans problème
mon graphique : Set myGraph = ActiveSheet.ChartObjects.Add(Left:0,
Width:75, Top:u, Height:"5) With myGraph
.Name = monNom
.RoundedCorners = True
With .Chart.SeriesCollection.NewSeries
.Name = monTitre
.Values = ValuesRange
.XValues = XValuesRange
End With
.Chart.ChartType = xl3DPie
.Chart.Elevation = 30
End With

Je souhaite ensuite donner à ce graphique un certain fond dégradé, avec 3
points de couleurs spécifique en RGB. Manuellement l'information se trouve
dans "Format de la zone Graphique" > Remplissage > Remplissage dégradé > Type
Linéaire > Points de dégradés.

Je souhaiterai avoir 3 points de dégradé avec les valeurs RGB suivantes :

. point 1 : 154, 181, 228
. point 2 : 194, 209, 237
. point 3 : 225, 232, 245

Or je ne trouve nul part ou ajouter ces points, ni comment les modifier, et
encore moins leur appliquer un format RGB.

Merci pour votre coup de main.

Cordialement,

F.
Avatar
DanielCo
Un point positif, sauf si, comme moi tu es retraité : on est vendredi !
De quoi éviter le passage à l'acte. Bon j'ai enregistré ça. J'ai laissé
la répétition des dernières lignes, tel que restitué par
l'enregistreur. Je doute qu'on en ait besoin :
A adapter (j'ai enregistré sur la zone de traçage) :

ActiveChart.PlotArea.Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0.3399999738
.ForeColor.Brightness = 0
.BackColor.ObjectThemeColor = msoThemeColorAccent1
.BackColor.TintAndShade = 0.7649999857
.BackColor.Brightness = 0
.TwoColorGradient msoGradientHorizontal, 1
End With
Selection.Format.Fill.Visible = msoTrue
Selection.Format.Fill.Visible = msoTrue
Selection.Format.Fill.Visible = msoTrue
Selection.Format.Fill.Visible = msoTrue
Selection.Format.Fill.Visible = msoTrue

Daniel


Bonjour à tous,

Je profite de ces tristes et pluvieuse, qui je l'espère ne vous déprime pas
trop pour mettre en forme des graphiques sous Excel.

Je suis Excel 2007 (et je ne cherche aucune rétrocompatibilité avec des
versions précédente) Il ne me reste qu'un problème que je n'arrive pas à
résoudre malgré de multiples recherches sur internet. Je créé sans problème
mon graphique : Set myGraph = ActiveSheet.ChartObjects.Add(Left:0,
Width:75, Top:u, Height:"5) With myGraph
.Name = monNom
.RoundedCorners = True
With .Chart.SeriesCollection.NewSeries
.Name = monTitre
.Values = ValuesRange
.XValues = XValuesRange
End With
.Chart.ChartType = xl3DPie
.Chart.Elevation = 30
End With

Je souhaite ensuite donner à ce graphique un certain fond dégradé, avec 3
points de couleurs spécifique en RGB. Manuellement l'information se trouve
dans "Format de la zone Graphique" > Remplissage > Remplissage dégradé > Type
Linéaire > Points de dégradés.

Je souhaiterai avoir 3 points de dégradé avec les valeurs RGB suivantes :

. point 1 : 154, 181, 228
. point 2 : 194, 209, 237
. point 3 : 225, 232, 245

Or je ne trouve nul part ou ajouter ces points, ni comment les modifier, et
encore moins leur appliquer un format RGB.

Merci pour votre coup de main.

Cordialement,

F.
Avatar
Fdecourt
Merci pour ta réponse.

Mais ce code (à adapter un peu pour le fond du graphique) ne permet pas d e spécifier 3 points de dégradé avec une couleur RGB. Il applique bie n un dégradé, mais avec les valeurs standards d'Excel !
Avatar
DanielCo
J'avais oublié. J'y retourne...


Merci pour ta réponse.

Mais ce code (à adapter un peu pour le fond du graphique) ne permet pas de
spécifier 3 points de dégradé avec une couleur RGB. Il applique bien un
dégradé, mais avec les valeurs standards d'Excel !
Avatar
DanielCo
Pas sûr d'y arriver, l'enregistreur a l'air aussi défaillant que celui
de XL2007 et l'aide en ligne renvoie (comme d'habitude) sur page
inexistante. Je cherche...
Daniel


Merci pour ta réponse.

Mais ce code (à adapter un peu pour le fond du graphique) ne permet pas de
spécifier 3 points de dégradé avec une couleur RGB. Il applique bien un
dégradé, mais avec les valeurs standards d'Excel !
Avatar
DanielCo
Plus je regarde et plus je me demande si c'est possible. Deux couleurs,
pas de problème, plus ?
Daniel


Merci pour ta réponse.

Mais ce code (à adapter un peu pour le fond du graphique) ne permet pas de
spécifier 3 points de dégradé avec une couleur RGB. Il applique bien un
dégradé, mais avec les valeurs standards d'Excel !
Avatar
DanielCo
J'ai posé la question dans la cour des grands. Je m'attends à une
réponse du genre "c'est inclus dans le XML, pas moyen".
Attendons.
Daniel


Plus je regarde et plus je me demande si c'est possible. Deux couleurs, pas
de problème, plus ?
Daniel


Merci pour ta réponse.

Mais ce code (à adapter un peu pour le fond du graphique) ne permet pas de
spécifier 3 points de dégradé avec une couleur RGB. Il applique bien un
dégradé, mais avec les valeurs standards d'Excel !
Avatar
DanielCo
Regarde le code suivant :

With Selection.Format.Fill
.Visible = msoTrue
.BackColor.Brightness = 0
.TwoColorGradient msoGradientHorizontal, 1
.GradientStops.Insert RGB(154, 181, 228), 0.25
.GradientStops.Insert RGB(197, 209, 237), 0.5
.GradientStops.Insert RGB(225, 232, 245), 0.75
'.GradientStops.Insert RGB(128, 0, 0), 0.75
End With

Daniel


Merci pour ta réponse.

Mais ce code (à adapter un peu pour le fond du graphique) ne permet pas de
spécifier 3 points de dégradé avec une couleur RGB. Il applique bien un
dégradé, mais avec les valeurs standards d'Excel !
Avatar
Fdecourt
Bonjour DanielCo,

Merci pour ta réponse, et désolé pour la mienne qui est un peu tardiv e.
C'est effectivement l'objet et la méthode recherchée.

Avec le code suivant (un peu adapté par rapport au tient qui concerne les shapes, et peut être à la version d'Excel. Le code ci-dessous fonction ne pour 2007) :

Set myGraph = ActiveSheet.ChartObjects.Add(Left:0, Width:75, Top :u, Height:"5)
With myGraph
With .Chart.ChartArea.Format.Fill
.TwoColorGradient msoGradientHorizontal, 1
.GradientStops.Insert RGB(154, 181, 228), 0.25
.GradientStops.Insert RGB(197, 209, 237), 0.5
.GradientStops.Insert RGB(225, 232, 245), 0.75
.GradientStops.Delete (1)
.GradientStops.Delete (2)
End With
End With

cela fonctionne parfaitement.

Je supprime à la fin les deux premiers points de dégradé, qui sont cr éés automatiquement à la création du graphique (je n'ai pas trouv é de méthode de mmodification de la couleur ou de la position).

Merci pour ton coup de main !

Cordialement,

F.
1 2