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

changer la couleur d'un graphique

2 réponses
Avatar
Michel Samoey
Bonjour,

Je continue mon projet.
(Voir mail Objet: déclencher une macro à partir d'une cellule
du dimanche 13 janvier 2008 13:03 avec la réponse de JB)

J'ai un fichier avec 5 SpinButton qui me modifient
- l'année
- le mois
- le jour
- l'heure
- les minutes
avec les Private Sub qui vont bien pour définir une date précise contenue
dans la cellule D38.
par ex celui des minutes :

Private Sub SpinButton5_SpinUp()
'minute+1
jouro = Range("D38")
Range("D38").Value = jouro + 1 / 1440
End Sub

En fonction de la date, je fais "voyager" la position d'un observateur sur
la planète. Il se retrouve donc en plein jour, en nuit noire ou au
crépuscule.

J'ai un graphique Excel, contenu dans la page Excel, représentant la zone
d'observation. J'ai défini la couleur de fond du graphique en fonction de
l'heure locale (bleu foncé pour la nuit, gris pour le crépuscule, jaune
clair pour le jour). Cette couleur est précisée à la cellule BJ79. (BJ80=
mémoire tampon) avec le Private Sub ci-dessous qui appelle le sub de
coloriage.

Private Sub Worksheet_Calculate()
'
If Range("BJ79").Value <> Range("BJ80").Value Then
Range("BJ80").Value = Range("BJ79").Value
Module4.Coloriage
End If
End Sub

Sub Coloriage()
'
' Macro enregistrée le 12/01/2008 par Michel
'
ActiveSheet.ChartObjects("Graphique 23").Activate
ActiveChart.PlotArea.Interior.ColorIndex = Range("BJ79").Value
End Sub

Problème : par exemple quand je reste appuyé sur le SpinButton "minute", les
minutes défilent normalement et s'il y a une modification de la couleur
alors là je suis obligé de relâcher et recliquer sur le SpinButton pour
continuer à faire défiler le temps.
J'ai aussi l'aire du graphique qui reste sélectionné.
Y a t'il moyen de faire ce changement de couleur sans sélectionner le
graphique et en gardant la main ?

Merci d'avance et bravo pour le dynamisme du groupe.

Cordialement
Michel

2 réponses

Avatar
isabelle
bonjour Michel,

ActiveSheet.ChartObjects("Graphique 23").Chart.PlotArea.Interior.ColorIndex = [BJ80]

isabelle

Bonjour,

Je continue mon projet.
(Voir mail Objet: déclencher une macro à partir d'une cellule
du dimanche 13 janvier 2008 13:03 avec la réponse de JB)

J'ai un fichier avec 5 SpinButton qui me modifient
- l'année
- le mois
- le jour
- l'heure
- les minutes
avec les Private Sub qui vont bien pour définir une date précise contenue
dans la cellule D38.
par ex celui des minutes :

Private Sub SpinButton5_SpinUp()
'minute+1
jouro = Range("D38")
Range("D38").Value = jouro + 1 / 1440
End Sub

En fonction de la date, je fais "voyager" la position d'un observateur sur
la planète. Il se retrouve donc en plein jour, en nuit noire ou au
crépuscule.

J'ai un graphique Excel, contenu dans la page Excel, représentant la zone
d'observation. J'ai défini la couleur de fond du graphique en fonction de
l'heure locale (bleu foncé pour la nuit, gris pour le crépuscule, jaune
clair pour le jour). Cette couleur est précisée à la cellule BJ79. (BJ80=
mémoire tampon) avec le Private Sub ci-dessous qui appelle le sub de
coloriage.

Private Sub Worksheet_Calculate()
'
If Range("BJ79").Value <> Range("BJ80").Value Then
Range("BJ80").Value = Range("BJ79").Value
Module4.Coloriage
End If
End Sub

Sub Coloriage()
'
' Macro enregistrée le 12/01/2008 par Michel
'
ActiveSheet.ChartObjects("Graphique 23").Activate
ActiveChart.PlotArea.Interior.ColorIndex = Range("BJ79").Value
End Sub

Problème : par exemple quand je reste appuyé sur le SpinButton "minute", les
minutes défilent normalement et s'il y a une modification de la couleur
alors là je suis obligé de relâcher et recliquer sur le SpinButton pour
continuer à faire défiler le temps.
J'ai aussi l'aire du graphique qui reste sélectionné.
Y a t'il moyen de faire ce changement de couleur sans sélectionner le
graphique et en gardant la main ?

Merci d'avance et bravo pour le dynamisme du groupe.

Cordialement
Michel




Avatar
Michel Samoey
Bonjour,
OK merci, ça marche
J'avais essayé toutes les combinaisons des "termes" mais je n'ai pas penser
(je ne savais pas) au ".Chart" intermédiaire
Cordialement
Michel

"isabelle" a écrit dans le message de news:
ey$
bonjour Michel,

ActiveSheet.ChartObjects("Graphique
23").Chart.PlotArea.Interior.ColorIndex = [BJ80]

isabelle

Bonjour,

Je continue mon projet.
(Voir mail Objet: déclencher une macro à partir d'une cellule
du dimanche 13 janvier 2008 13:03 avec la réponse de JB)

J'ai un fichier avec 5 SpinButton qui me modifient
- l'année
- le mois
- le jour
- l'heure
- les minutes
avec les Private Sub qui vont bien pour définir une date précise contenue
dans la cellule D38.
par ex celui des minutes :

Private Sub SpinButton5_SpinUp()
'minute+1
jouro = Range("D38")
Range("D38").Value = jouro + 1 / 1440
End Sub

En fonction de la date, je fais "voyager" la position d'un observateur
sur la planète. Il se retrouve donc en plein jour, en nuit noire ou au
crépuscule.

J'ai un graphique Excel, contenu dans la page Excel, représentant la zone
d'observation. J'ai défini la couleur de fond du graphique en fonction de
l'heure locale (bleu foncé pour la nuit, gris pour le crépuscule, jaune
clair pour le jour). Cette couleur est précisée à la cellule BJ79. (BJ80=
mémoire tampon) avec le Private Sub ci-dessous qui appelle le sub de
coloriage.

Private Sub Worksheet_Calculate()
'
If Range("BJ79").Value <> Range("BJ80").Value Then
Range("BJ80").Value = Range("BJ79").Value
Module4.Coloriage
End If
End Sub

Sub Coloriage()
'
' Macro enregistrée le 12/01/2008 par Michel
'
ActiveSheet.ChartObjects("Graphique 23").Activate
ActiveChart.PlotArea.Interior.ColorIndex = Range("BJ79").Value
End Sub

Problème : par exemple quand je reste appuyé sur le SpinButton "minute",
les minutes défilent normalement et s'il y a une modification de la
couleur alors là je suis obligé de relâcher et recliquer sur le
SpinButton pour continuer à faire défiler le temps.
J'ai aussi l'aire du graphique qui reste sélectionné.
Y a t'il moyen de faire ce changement de couleur sans sélectionner le
graphique et en gardant la main ?

Merci d'avance et bravo pour le dynamisme du groupe.

Cordialement
Michel