Temps de calcul pour changement de couleur dans un graph hyper long !
2 réponses
Franck
Bonsoir à tous,
J'ai écris une petite routine permettant de changer la couleur des points
dans un graph pour faire apparaître 3 périodes distinctes.
L'axe des abscisses en heures, la courbe représentant les variations
d'un paramètre sur 3 heures par exemple, la première heure apparaît en
rouge, la seconde en vert
et la troisième en bleu.
Cela fonctionne très bien, mais bonjours le temps de traitement, même sur un
XP3000.
voici une partie de mon code :
'pour un graphique de 2 séries de données
If c_triplement = True And périod = "p0" Then
Set zone1àtester = Range(bloc_axe_y)
Set zone2àtester = Range(bloc_axe_y2)
For y = 1 To zone1àtester.Rows.Count
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 3 'en rouge
End If
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 4 'en vert
End If
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 5 'en bleu
End If
Next y
For y = 1 To zone2àtester.Rows.Count
If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 3 'en rouge
End If
If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 4 'en vert
End If
If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 5 'en bleu
End If
Next y
Set zone1àtester = Nothing
Set zone2àtester = Nothing
End If
La même chose pour un graph à 1 serie de données mais sans la partie
"zone2àtester".
Pour info, ce test doit ce faire au maxi sur 14 graphs dont 1 avec 2 séries
de données.
Chaque séries possèdent environ 8000 valeurs.
Au bout de 2 à 3 min seulement 3 courbes ont été traitées.
Comme vous l'avez compris, mon problème c'est le temps que met cette partie
du code
à changer la couleur de mes courbes.
Ma question, comment optimisé ces boucles For Next ?
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
Alain CROS
Bonjour
Je n'ais pas analyser le code mais tu pourrai avoir 3 séries au lieu d'une seule par exemple en colonne A, tes données brutes en colonne B seulement les valeurs répondant au critère rouge en colonne C " " " " " " vert etc ... puis tes 3 séries avec colonne B, colonne C etc ... plus de routine pour changement de couleur , affichage instantané ou presque.
Alain CROS
"Franck" a écrit dans le message de news: c69j07$8t6$
Bonsoir à tous,
J'ai écris une petite routine permettant de changer la couleur des points dans un graph pour faire apparaître 3 périodes distinctes. L'axe des abscisses en heures, la courbe représentant les variations d'un paramètre sur 3 heures par exemple, la première heure apparaît en rouge, la seconde en vert et la troisième en bleu. Cela fonctionne très bien, mais bonjours le temps de traitement, même sur un XP3000. voici une partie de mon code :
'pour un graphique de 2 séries de données If c_triplement = True And périod = "p0" Then Set zone1àtester = Range(bloc_axe_y) Set zone2àtester = Range(bloc_axe_y2) For y = 1 To zone1àtester.Rows.Count If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 3 'en rouge End If If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 4 'en vert End If If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 5 'en bleu End If Next y For y = 1 To zone2àtester.Rows.Count If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 3 'en rouge End If If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 4 'en vert End If If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 5 'en bleu End If Next y Set zone1àtester = Nothing Set zone2àtester = Nothing End If
La même chose pour un graph à 1 serie de données mais sans la partie "zone2àtester".
Pour info, ce test doit ce faire au maxi sur 14 graphs dont 1 avec 2 séries de données. Chaque séries possèdent environ 8000 valeurs.
Au bout de 2 à 3 min seulement 3 courbes ont été traitées.
Comme vous l'avez compris, mon problème c'est le temps que met cette partie du code à changer la couleur de mes courbes.
Ma question, comment optimisé ces boucles For Next ?
Merci d'avance pour vos réponses.
Franck.
Bonjour
Je n'ais pas analyser le code mais tu pourrai avoir 3 séries au lieu d'une seule
par exemple en colonne A, tes données brutes
en colonne B seulement les valeurs répondant au critère rouge
en colonne C " " " " " " vert
etc ...
puis tes 3 séries avec colonne B, colonne C etc ...
plus de routine pour changement de couleur , affichage instantané ou presque.
Alain CROS
"Franck" <franck.morbini@wanadoo.fr> a écrit dans le message de news: c69j07$8t6$1@news-reader4.wanadoo.fr...
Bonsoir à tous,
J'ai écris une petite routine permettant de changer la couleur des points
dans un graph pour faire apparaître 3 périodes distinctes.
L'axe des abscisses en heures, la courbe représentant les variations
d'un paramètre sur 3 heures par exemple, la première heure apparaît en
rouge, la seconde en vert
et la troisième en bleu.
Cela fonctionne très bien, mais bonjours le temps de traitement, même sur un
XP3000.
voici une partie de mon code :
'pour un graphique de 2 séries de données
If c_triplement = True And périod = "p0" Then
Set zone1àtester = Range(bloc_axe_y)
Set zone2àtester = Range(bloc_axe_y2)
For y = 1 To zone1àtester.Rows.Count
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 3 'en rouge
End If
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 4 'en vert
End If
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 5 'en bleu
End If
Next y
For y = 1 To zone2àtester.Rows.Count
If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 3 'en rouge
End If
If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 4 'en vert
End If
If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 5 'en bleu
End If
Next y
Set zone1àtester = Nothing
Set zone2àtester = Nothing
End If
La même chose pour un graph à 1 serie de données mais sans la partie
"zone2àtester".
Pour info, ce test doit ce faire au maxi sur 14 graphs dont 1 avec 2 séries
de données.
Chaque séries possèdent environ 8000 valeurs.
Au bout de 2 à 3 min seulement 3 courbes ont été traitées.
Comme vous l'avez compris, mon problème c'est le temps que met cette partie
du code
à changer la couleur de mes courbes.
Ma question, comment optimisé ces boucles For Next ?
Je n'ais pas analyser le code mais tu pourrai avoir 3 séries au lieu d'une seule par exemple en colonne A, tes données brutes en colonne B seulement les valeurs répondant au critère rouge en colonne C " " " " " " vert etc ... puis tes 3 séries avec colonne B, colonne C etc ... plus de routine pour changement de couleur , affichage instantané ou presque.
Alain CROS
"Franck" a écrit dans le message de news: c69j07$8t6$
Bonsoir à tous,
J'ai écris une petite routine permettant de changer la couleur des points dans un graph pour faire apparaître 3 périodes distinctes. L'axe des abscisses en heures, la courbe représentant les variations d'un paramètre sur 3 heures par exemple, la première heure apparaît en rouge, la seconde en vert et la troisième en bleu. Cela fonctionne très bien, mais bonjours le temps de traitement, même sur un XP3000. voici une partie de mon code :
'pour un graphique de 2 séries de données If c_triplement = True And périod = "p0" Then Set zone1àtester = Range(bloc_axe_y) Set zone2àtester = Range(bloc_axe_y2) For y = 1 To zone1àtester.Rows.Count If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 3 'en rouge End If If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 4 'en vert End If If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 5 'en bleu End If Next y For y = 1 To zone2àtester.Rows.Count If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 3 'en rouge End If If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 4 'en vert End If If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 5 'en bleu End If Next y Set zone1àtester = Nothing Set zone2àtester = Nothing End If
La même chose pour un graph à 1 serie de données mais sans la partie "zone2àtester".
Pour info, ce test doit ce faire au maxi sur 14 graphs dont 1 avec 2 séries de données. Chaque séries possèdent environ 8000 valeurs.
Au bout de 2 à 3 min seulement 3 courbes ont été traitées.
Comme vous l'avez compris, mon problème c'est le temps que met cette partie du code à changer la couleur de mes courbes.
Ma question, comment optimisé ces boucles For Next ?
Merci d'avance pour vos réponses.
Franck.
Franck
Merci pour ta réponse
Le problème c'est que je ne peut pas faire comme tu le dit, je veut que les 3 périodes apparaissent en couleur sur la courbe de la période globale.
Au départ les données sont dans un fichier ".txt" que je format pour une présentation plus conviviale. la colonne A représente les abscisses et les 14 colonnes suivantes les séries. Pour chaque série, sur la période globale de mesure j'extrait les valeurs mini moyenne et maxi, pour chaque série, la période globale de mesure est divisée en 3 périodes qui ne se suivent pas forcément (je nomme tous simplement les "range" correspondant qui deviendront de nouvelles séries. Puis sur chacune de ces 3 périodes et pour chacune de ces 14 séries, j'extrait les valeurs des min moy et max.
La partie graphique me trace alors les 14 courbes sur la période globale puis les 14*3 autres courbes correspondant aux différentes périodes de chaque série. Au totale 56 courbes.
Mes periodes intermédiaires se tracent donc très bien et en un temps record. Mais je désir tout de même les faire apparaître de couleur différentes mes 3 périodes sur les 14 courbes représentant la période globale.
La procédure marche très bien, mais je ne comprend pas pourquoi le pc sature. Même après calcul, à l'affichage, c'est le cadre du graph qui apparaît en premier, après ce dessine la courbe avec les 3 couleurs, puis viennent par la suite les titres et la zone de text d'infos.
J'ai l'impression que la mémoire est saturé, pourtant avec 1Go...
La fonction "set zone1àtester = nothing" est-elle bien placée ? Peut-on aussi optimiser ces boucles ?
Merci d'avance pour vos nouveau conseils.
Franck.
"Alain CROS" a écrit dans le message de news:
Bonjour
Je n'ais pas analyser le code mais tu pourrai avoir 3 séries au lieu d'une seule
par exemple en colonne A, tes données brutes en colonne B seulement les valeurs répondant au critère rouge en colonne C " " " " " " vert
etc ... puis tes 3 séries avec colonne B, colonne C etc ... plus de routine pour changement de couleur , affichage instantané ou presque.
Alain CROS
"Franck" a écrit dans le message de news: c69j07$8t6$
Bonsoir à tous,
J'ai écris une petite routine permettant de changer la couleur des points
dans un graph pour faire apparaître 3 périodes distinctes. L'axe des abscisses en heures, la courbe représentant les variations d'un paramètre sur 3 heures par exemple, la première heure apparaît en rouge, la seconde en vert et la troisième en bleu. Cela fonctionne très bien, mais bonjours le temps de traitement, même sur un
XP3000. voici une partie de mon code :
'pour un graphique de 2 séries de données If c_triplement = True And périod = "p0" Then Set zone1àtester = Range(bloc_axe_y) Set zone2àtester = Range(bloc_axe_y2) For y = 1 To zone1àtester.Rows.Count If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
End If If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 4 'en vert End If If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 5 'en bleu End If Next y For y = 1 To zone2àtester.Rows.Count If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
End If If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 4 'en vert End If If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(2).Points(y).Border.ColorIndex = 5 'en bleu End If Next y Set zone1àtester = Nothing Set zone2àtester = Nothing End If
La même chose pour un graph à 1 serie de données mais sans la partie "zone2àtester".
Pour info, ce test doit ce faire au maxi sur 14 graphs dont 1 avec 2 séries
de données. Chaque séries possèdent environ 8000 valeurs.
Au bout de 2 à 3 min seulement 3 courbes ont été traitées.
Comme vous l'avez compris, mon problème c'est le temps que met cette partie
du code à changer la couleur de mes courbes.
Ma question, comment optimisé ces boucles For Next ?
Merci d'avance pour vos réponses.
Franck.
Merci pour ta réponse
Le problème c'est que je ne peut pas faire comme tu le dit,
je veut que les 3 périodes apparaissent en couleur sur la courbe
de la période globale.
Au départ les données sont dans un fichier ".txt" que je format pour une
présentation
plus conviviale. la colonne A représente les abscisses et les 14 colonnes
suivantes les séries.
Pour chaque série, sur la période globale de mesure j'extrait les valeurs
mini
moyenne et maxi, pour chaque série, la période globale de mesure est divisée
en 3 périodes qui ne se suivent pas forcément (je nomme tous simplement les
"range"
correspondant qui deviendront de nouvelles séries. Puis sur chacune de ces 3
périodes et
pour chacune de ces 14 séries, j'extrait les valeurs des min moy et max.
La partie graphique me trace alors les 14 courbes sur la période globale
puis les 14*3 autres courbes correspondant aux différentes périodes de
chaque série.
Au totale 56 courbes.
Mes periodes intermédiaires se tracent donc très bien et en un temps record.
Mais je désir tout de même les faire apparaître de couleur différentes
mes 3 périodes sur les 14 courbes représentant la période globale.
La procédure marche très bien, mais je ne comprend pas pourquoi
le pc sature. Même après calcul, à l'affichage, c'est le cadre du graph
qui apparaît en premier, après ce dessine la courbe avec les 3 couleurs,
puis viennent par la suite les titres et la zone de text d'infos.
J'ai l'impression que la mémoire est saturé, pourtant avec 1Go...
La fonction "set zone1àtester = nothing" est-elle bien placée ?
Peut-on aussi optimiser ces boucles ?
Merci d'avance pour vos nouveau conseils.
Franck.
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:erCXxcUKEHA.1312@TK2MSFTNGP12.phx.gbl...
Bonjour
Je n'ais pas analyser le code mais tu pourrai avoir 3 séries au lieu d'une
seule
par exemple en colonne A, tes données brutes
en colonne B seulement les valeurs répondant au critère rouge
en colonne C " " " " " "
vert
etc ...
puis tes 3 séries avec colonne B, colonne C etc ...
plus de routine pour changement de couleur , affichage instantané ou
presque.
Alain CROS
"Franck" <franck.morbini@wanadoo.fr> a écrit dans le message de news:
c69j07$8t6$1@news-reader4.wanadoo.fr...
Bonsoir à tous,
J'ai écris une petite routine permettant de changer la couleur des
points
dans un graph pour faire apparaître 3 périodes distinctes.
L'axe des abscisses en heures, la courbe représentant les variations
d'un paramètre sur 3 heures par exemple, la première heure apparaît en
rouge, la seconde en vert
et la troisième en bleu.
Cela fonctionne très bien, mais bonjours le temps de traitement, même
sur un
XP3000.
voici une partie de mon code :
'pour un graphique de 2 séries de données
If c_triplement = True And périod = "p0" Then
Set zone1àtester = Range(bloc_axe_y)
Set zone2àtester = Range(bloc_axe_y2)
For y = 1 To zone1àtester.Rows.Count
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(1)
And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
End If
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(3)
And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 4 'en vert
End If
If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(5)
And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 5 'en bleu
End If
Next y
For y = 1 To zone2àtester.Rows.Count
If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(1)
And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
Le problème c'est que je ne peut pas faire comme tu le dit, je veut que les 3 périodes apparaissent en couleur sur la courbe de la période globale.
Au départ les données sont dans un fichier ".txt" que je format pour une présentation plus conviviale. la colonne A représente les abscisses et les 14 colonnes suivantes les séries. Pour chaque série, sur la période globale de mesure j'extrait les valeurs mini moyenne et maxi, pour chaque série, la période globale de mesure est divisée en 3 périodes qui ne se suivent pas forcément (je nomme tous simplement les "range" correspondant qui deviendront de nouvelles séries. Puis sur chacune de ces 3 périodes et pour chacune de ces 14 séries, j'extrait les valeurs des min moy et max.
La partie graphique me trace alors les 14 courbes sur la période globale puis les 14*3 autres courbes correspondant aux différentes périodes de chaque série. Au totale 56 courbes.
Mes periodes intermédiaires se tracent donc très bien et en un temps record. Mais je désir tout de même les faire apparaître de couleur différentes mes 3 périodes sur les 14 courbes représentant la période globale.
La procédure marche très bien, mais je ne comprend pas pourquoi le pc sature. Même après calcul, à l'affichage, c'est le cadre du graph qui apparaît en premier, après ce dessine la courbe avec les 3 couleurs, puis viennent par la suite les titres et la zone de text d'infos.
J'ai l'impression que la mémoire est saturé, pourtant avec 1Go...
La fonction "set zone1àtester = nothing" est-elle bien placée ? Peut-on aussi optimiser ces boucles ?
Merci d'avance pour vos nouveau conseils.
Franck.
"Alain CROS" a écrit dans le message de news:
Bonjour
Je n'ais pas analyser le code mais tu pourrai avoir 3 séries au lieu d'une seule
par exemple en colonne A, tes données brutes en colonne B seulement les valeurs répondant au critère rouge en colonne C " " " " " " vert
etc ... puis tes 3 séries avec colonne B, colonne C etc ... plus de routine pour changement de couleur , affichage instantané ou presque.
Alain CROS
"Franck" a écrit dans le message de news: c69j07$8t6$
Bonsoir à tous,
J'ai écris une petite routine permettant de changer la couleur des points
dans un graph pour faire apparaître 3 périodes distinctes. L'axe des abscisses en heures, la courbe représentant les variations d'un paramètre sur 3 heures par exemple, la première heure apparaît en rouge, la seconde en vert et la troisième en bleu. Cela fonctionne très bien, mais bonjours le temps de traitement, même sur un
XP3000. voici une partie de mon code :
'pour un graphique de 2 séries de données If c_triplement = True And périod = "p0" Then Set zone1àtester = Range(bloc_axe_y) Set zone2àtester = Range(bloc_axe_y2) For y = 1 To zone1àtester.Rows.Count If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then
End If If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(3) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(4) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 4 'en vert End If If zone1àtester.Cells(y, 1).Row >= tabligdébfinp123(5) And
zone1àtester.Cells(y, 1).Row <= tabligdébfinp123(6) Then
ActiveChart.SeriesCollection(1).Points(y).Border.ColorIndex = 5 'en bleu End If Next y For y = 1 To zone2àtester.Rows.Count If zone2àtester.Cells(y, 1).Row >= tabligdébfinp123(1) And
zone2àtester.Cells(y, 1).Row <= tabligdébfinp123(2) Then