BUG VBA: Automatiser un graphe type Xlsurface / fct xlvalue

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

Bonjour,

je n'ai pas de problème avec cette macro.

peux-tu joindre le fichier qui pose problème ?

Salut !!

Biensûr, voici mon fichier Excel en p/j.

Quand je lance la macro qui est simplement le résultat d'une macro enregistrée, ca BUG (chez moi en tout cas)...

Merci pour ton aide

16bug.zip (8.35 Ko)

bonjour, bonsoir,

reçois-tu un message d'erreur ?

Oui une erreur 1004 mais je ne me souviens plus du message exact.

Je te l'écris demain matin...

Quand tu lances la macro ca fonctionne chez toi ?

Est ce possible que ce soit un problème lié à la version d excel ?

Merci

Nattos a écrit :

Oui une erreur 1004 mais je ne me souviens plus du message exact.

Je te l'écris demain matin...

Quand tu lances la macro ca fonctionne chez toi ?

oui cela fonctionne

Est ce possible que ce soit un problème lié à la version d excel ?

sans doute

Merci

Bonjour bonjour,

Alors le message d'erreur que je reçois est le suivant:

Run-time error '1004':

Unable to set the XValues property of the Series class.

(La propriété Names fonctionne pourtant très bien)

Je travaille sur Excel 2003, et toi ?

Si c'est un problème de version, tu penses qu'il n'y a rien à faire pour contourner le probléme ?

Merci et bonne journée

Nattos a écrit :

Bonjour bonjour,

Alors le message d'erreur que je reçois est le suivant:

Run-time error '1004':

Unable to set the XValues property of the Series class.

(La propriété Names fonctionne pourtant très bien)

Je travaille sur Excel 2003, et toi ?

Si c'est un problème de version, tu penses qu'il n'y a rien à faire pour contourner le probléme ?

Merci et bonne journée

excel 2010 et 2013. je n'ai pas de message d'erreur, mais je remarque que les noms des séries donnent problème quand on les modifie.

on peut essayer en supprimant et en recréant le graphe à chaque fois, plutôt que de le modifier.

Merci pour l'astuce...

Je vais laisser comme ca en attendant (sans update de l'abscisse) et j'attendrai de passer à la prochaine version d'Excel

Rechercher des sujets similaires à "bug vba automatiser graphe type xlsurface fct xlvalue"