Bonjour,
Les trois problèmes précédents sont résolus, j'ai finalement réussi.
Cependant, un nouveau porblème se pose, j'ai besoin de modifier d'autres propriétés dont voici le code VBA :
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
| ActiveChart.Legend.Select
ActiveChart.Legend.LegendEntries(1).LegendKey.Select
With Selection.Border
.ColorIndex = 57
.Weight = xlThick
.LineStyle = xlContinuous
End With
With Selection
.MarkerBackgroundColorIndex = 8
.MarkerForegroundColorIndex = 41
.MarkerStyle = xlCircle
.Smooth = True
.MarkerSize = 8
.Shadow = False
End With
ActiveChart.Legend.LegendEntries(2).LegendKey.Select
With Selection.Border
.ColorIndex = 3
.Weight = xlThick
.LineStyle = xlContinuous
End With
With Selection
.MarkerBackgroundColorIndex = 3
.MarkerForegroundColorIndex = 41
.MarkerStyle = xlCircle
.Smooth = True
.MarkerSize = 8
.Shadow = False
End With |
Et voici ma contribution sous Matlab :
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
| Excel.ActiveChart.Legend.Select;
legend = Excel.ActiveChart.Legend.LegendEntries.Item(1).LegendKey;
legend.Border.ColorIndex = 2;
legend.Border.Weight = 4;
legend.Border.LineStyle = 1;
legend.MarkerBackgroundColorIndex = 8;
legend.MarkerForegroundColorIndex = 41;
legend.MarkerStyle = 8;
legend.Smooth = true;
legend.MarkerSize = 8;
legend.Shadow = false;
legend = Excel.ActiveChart.Legend.LegendEntries.Item(2).LegendKey;
legend.Border.ColorIndex = 3;
legend.Border.Weight = 4;
legend.Border.LineStyle = 1;
legend.MarkerBackgroundColorIndex = 3;
legend.MarkerForegroundColorIndex = 41;
legend.MarkerStyle = 8;
legend.Smooth = true;
legend.MarkerSize = 8;
legend.Shadow = false; |
Ce code génère une erreur à partir de :
legend.Border.ColorIndex = 2;
Impossible pour lui d'appliquer la couleur, la syntaxe n'est pas bonne, j'ai beau essayer différentes structures, rien ne fonctionne.
J'ai même essayé la structure fournit par le File Exchange de xlschart :
Excel.ActiveChart.Legend.LegendEntries(i).LegendKey.Border.ColorIndex = colors(k);
mais même celle-ci ne fonctionne pas.
Merci par avance pour votre aide.
Yul
Partager