Bonjour à tous,
Je rencontre un bug VBA dont je n'ai trouvé aucune solution ailleurs et qui a été soulevé quelques autres fois sans succés.
Je retente au cas où l'un de vous aurait la réponse à ce mystére qui m'embête au plus haut point
Je souhaite ainsi automatiser à l'aide d'une macro l'update d'un graphique type Surface / 3D (xlsurface).
Mon souci vient du fait qu'il semble que certaines fonctions liées à ce graphe ne fonctionnent pas et en l'occurence celles consistant à définir les valeurs de l'axe des abscisses: xlvalues.
C'est d'autant plus un mystére que si je passe par l'enregistreur de macros pour updater mon graphe et que je relance alors la macro sur le résultat de l'enregistrement, ca plante !
A noter que la fonction "Names" fonctionne a contrario.
Voici un exemple concret:
Imaginons un tableau:
e f g h
a 1 3 7 8
b 2 3 5 4
c 3 8 7 9
d 1 6 9 3
Je souhaite alors faire un graphe 3D à partir de ces valeurs.
Voici la macro enregistreuse:
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartType = xlSurface
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R6C3:R6C6"
ActiveChart.SeriesCollection(1).Name = "=Sheet1!R7C2"
ActiveChart.SeriesCollection(2).XValues = "=Sheet1!R6C3:R6C6"
ActiveChart.SeriesCollection(2).Name = "=Sheet1!R8C2"
ActiveChart.SeriesCollection(3).XValues = "=Sheet1!R6C3:R6C6"
ActiveChart.SeriesCollection(3).Name = "=Sheet1!R9C2"
ActiveChart.SeriesCollection(4).XValues = "=Sheet1!R6C3:R6C6"
ActiveChart.SeriesCollection(4).Name = "=Sheet1!R10C2"
ActiveChart.ChartType = xlSurface
ActiveWindow.Visible = False
Quand je lance cette macro:
==> La fonction ActiveChart.SeriesCollection(1).Name = "=Sheet1!R7C2" FONCTIONNE
==> ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R6C3:R6C6" BUG
A votre bon coeur...
MERCI