macro dans plusieurs calsseurs...

yoord

XLDnaute Nouveau
Bonjour,
J'ai réalisé une macro qui permet de faire des graphiques (pas très compliqué).
j'ai mis cette macro en tant que macro complémentaire, et je l'appelle via un bouton-macro dans ma barre d'outil.

Seulement, la macro plante lorsque je choisit l'axe des abscisses pour mon graphique.
Le hic, c'est que la macro fonctionne très bien dans le classeur ou je l'ai créée, mais cette partie du code ne fonctionne pas des lorsque je souhaite l'utiliser dans un autre classeur.
Nul part dans mon code je ne fais référence au nom du classeur, ou au nom de la feuille. J'utilise toujours activeworkbook ou activesheet, activesheet.name etc...

le code plante ici :



Code:
for i = 1 to cc
If graph <> xlPie Then
ActiveChart.SeriesCollection(i).XValues = "=" & ActiveSheet.Name & "!R" & lig - 1 & "C" & col + 1 & ":R" & lig - 1 & "C" & col2
End If
Next i


cc est un nombre strictement positif, renvoyant au nombre de variables.
et je ne vois pas pourquoi...
j'ai l'erreur suivante :
Code:
impossibilité de définir la propriété XValues de la classe Series
 

PMO2

XLDnaute Accro
Re : macro dans plusieurs calsseurs...

Bonjour,

A tout hasard, essayez avec le code modifié ci-dessous

Code:
For i = 1 To cc
If graph <> xlPie Then
ActiveSheet.ChartObjects(graph.Parent.Name).Activate
ActiveChart.SeriesCollection(i).XValues = "=" & ActiveSheet.Name & "!R" & lig - 1 & "C" & col + 1 & ":R" & lig - 1 & "C" & col2
End If
Next i

Cordialement.

PMO
Patrick Morange
 

yoord

XLDnaute Nouveau
Re : macro dans plusieurs calsseurs...

Bonjour,

ton code ne fonctionne pas, j'ai un message d'erreur avec le
Code:
 graph [CODE]

j'ai néanmoins pu solutionner mon problème.
Lorsque l'on appelle une feuille, Excel a besoin d'avoir le nom de cette feuille entre '  '  .
Or, lorsque cette feuille porte le nom par défaut : Feuil1 Feuil2 etc... ces petits guillemets ne sont pas nécessaires.

Mes graphiques ne fonctionnaient pas justement dans des feuilles qui avaient été renommées.
Il suffit de rajouter les '  ' autour de Activesheet.Name et ca fonctionne !

[CODE]for i = 1 to cc
If graph <> xlPie Then
ActiveChart.SeriesCollection(i).XValues = "='" & ActiveSheet.Name & "'!R" & lig - 1 & "C" & col + 1 & ":R" & lig - 1 & "C" & col2
End If
Next i


Merci en tout cas pour ton aide.

Yoord
 

Discussions similaires

Statistiques des forums

Discussions
312 398
Messages
2 088 062
Membres
103 711
dernier inscrit
amin Saadaoui