probleme seriescollection

jeje

XLDnaute Nouveau
bonjour a tous,
voila, 1er post :) , j'ai un probleme

Je souhaiterai mettre à jour automatiquement un graphique en mettant a jour les series via un combobox,
Etant débutant en vba , (surtout pour les graphiques), j'ai recopié un code apres une recherche sur le forum.

Des que je l'adapte pour mon exemple sur 2 feuilles (données sur feuil2), toujours la meme erreur sur 'Sheets('feuil1').SeriesCollection(1).Values = plage' .voir piece jointe.

c'est peut etre tout bete mais je bute :'(

merci de votre aide [file name=Classeur1_20060321194033.zip size=12285]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20060321194033.zip[/file]

Message édité par: jeje, à: 21/03/2006 19:40
 

Pièces jointes

  • Classeur1_20060321194033.zip
    12 KB · Affichages: 28

jeje

XLDnaute Nouveau
salut, en fait ca ne marche pas :'(

Les séries sont ajoutées, mais la précédente n'est jamais supprimée.
Le code doit avoir un probleme :angry: mais j'ai du mal a le comprendre,
notament le

Sheets('feuil1').ChartObjects('Graphique 5').chart.SeriesCollection(1).Values = plage



merci :jap:
 

MichelXld

XLDnaute Barbatruc
bonsoir Jéjé

est ce que tu as bien conservé dans ta procédure la ligne qui supprimait l'ancienne série ?

Sub ComboBox1_Change()
Dim Plage As Range
Dim Couleur As Byte

Select Case Sheets('Feuil1').ComboBox1 'definir les donnees en fonction du combobox
Case 'janvier'
Set Plage = Sheets('Feuil2').Range('B2:E2') ' tableau
Couleur = 11

Case 'fevrier'
Set Plage = Sheets('Feuil2').Range('B3:E3')
Couleur = 3

Case 'mars'
Set Plage = Sheets('Feuil2').Range('B4:E4')
Couleur = 3
End Select

On Error Resume Next
'supprime la 1ere serie du graphique .... 'l'ancienne'
Worksheets(1).ChartObjects('Graphique 5').chart.SeriesCollection(1).Delete
On Error GoTo 0


'creation d'une nouvelle serie
Sheets('Feuil1').ChartObjects('Graphique 5').chart.SeriesCollection.NewSeries
'definition des données pour la 1ere serie du 'Graphique 5'
Sheets('feuil1').ChartObjects('Graphique 5').chart.SeriesCollection(1).Values = Plage

Sheets('Feuil1').ChartObjects('Graphique 5').chart.SeriesCollection(1).Name = _
Sheets('Feuil1').ComboBox1

End Sub



bonne soirée
MichelXld

Message édité par: michelxld, à: 23/03/2006 20:53
 

jeje

XLDnaute Nouveau
Bonjour,

en fait je crois avoir cerné le problème.

J'ai testé mon fichier chez moi (sous office 2003) il fonctionne parfaitement.

Par contre au boulot, sous office 2000 (je pense), il me met toujours une erreur sur la ligne :
Sheets('feuil1').ChartObjects('Graphique 5').chart.SeriesCollection(1).Values = Plage


Il a pas l'air d'aimer le seriescollection.

Est-ce que cela est possible d'une version de VBA a une autre ? car le fichier et le code sont les mêmes.

Merci de vos réponses :s
 

jeje

XLDnaute Nouveau
salut,
bon j'ai essayé au boulot en faisant une macro via l'enregistreur.
et le code est le même.

Ca vient d'autre chose, mais la je suis dépassé,

j'ai toujours l'erreur seriescollection n'appartient pas a la classe CHART ou un autre message.
Pourtant c'est le fichier qui fonctionne chez moi :angry:
 

MichelXld

XLDnaute Barbatruc
rebonsoir Jeje

je seche ....

tu peux essayer cette adaptation (utilisation de Select) qui fonctionne avec Excel97...chez moi ...;o)


Sub ComboBox1_Change()
Dim Plage As Range
Dim Couleur As Byte

Select Case Sheets('Feuil1').ComboBox1 'definir les donnees en fonction du combobox
Case 'janvier'
Set Plage = Sheets('feuil2').Range('B2:E2') ' tableau
Couleur = 11
Case 'fevrier'
Set Plage = Sheets('feuil2').Range('B3:E3')
Couleur = 3
Case 'mars'
Set Plage = Sheets('feuil2').Range('B4:E4')
Couleur = 3

End Select

On Error Resume Next
Worksheets(1).ChartObjects(1).chart.SeriesCollection(1).Delete
On Error GoTo 0

Sheets('Feuil1').ChartObjects('Graphique 5').Select
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Values = Plage
ActiveChart.SeriesCollection(1).Name = Sheets('Feuil1').ComboBox1
End Sub



bonne soirée
MichelXld
 

jeje

XLDnaute Nouveau
Bonjour,
je n'ai pu essayé que aujourd'hui,
et cela fonctionne parfaitement en mettant 'activate'. avec select il me mettait une erreur

Merci beaucoup :) :) :)

Par contre, pourquoi ca fonctionne tres bien chez moi sans activate...mystere =)

Encore merci de ton aide :)
 

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 814
dernier inscrit
JLGalley