Bonjour,
Je vous remercie encore pour votre code qui m'aide grandement dans mes représentations graphiques, malheureusement celui-ci n'est pas encore au point.
Premièrement, le code ne veut toujours pas prendre en compte le nom des séries :
Myserie.Name = "=Feuil1!R1C" & Rg.Column
J'ai beau eu chercher des solutions alternatives, rien ne marche.
Ensuite, comment changer le système de référence de cellule (RxCy en XY) car mes plages de données de mes graphiques sont situées assez loin colonne GE) donc difficile de connaitre l'indice pour un référencement en RxCy.
Autre chose, j'ai constaté que chaque sélection de colonne ajoute une nouvelle série, même si déjà existante. Serait-il possible de pouvoir supprimer la série en "re-cliquant" simplement sur la colonne ? (genre de boucle qui vérifie si la série est déjà présente...)
En dernier lieu, je voulais que la couleur des séries soit conditionnée par leur nom. J'ai trouvé cette macro qui colore chaque série en fonction de de la couleur de remplissage de la première cellule de donnée :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Sub CellColorsToChart()
Dim oChart As ChartObject
Dim MySeries As Series
Dim FormulaSplit As Variant
Dim SourceRange As Range
Dim SourceRangeColor As Long
'Loop through all charts in the active sheet
For Each oChart In ActiveSheet.ChartObjects
'Loop through all series in the target chart
For Each MySeries In oChart.Chart.SeriesCollection
'Get Source Data Range for the target series
FormulaSplit = Split(MySeries.Formula, ",")
'Capture the first cell in the source range then trap the color
Set SourceRange = Range(FormulaSplit(2)).Item(1)
SourceRangeColor = SourceRange.Interior.Color
'Coloring for Excel 2007 and 2010
MySeries.MarkerBackgroundColor = SourceRangeColor
MySeries.MarkerForegroundColor = SourceRangeColor
MySeries.Format.Line.ForeColor.RGB = SourceRangeColor
MySeries.Format.Line.BackColor.RGB = SourceRangeColor
MySeries.Format.Fill.ForeColor.RGB = SourceRangeColor
Next MySeries
Next oChart
End Sub |
Serait-il possible de modifier cette macro pour qu'elle prenne l'en-tête des colonnes au lieu de la première ligne de donnée.
Également, pourrait-on l'intégrer à votre code pour éviter la remise en forme ultérieure ?
Ci-joint, mes dernières modifs.
Cordialement,
Jean
Partager