VBA - Mettre à jour les graphiques d'une feuille

haleakala

XLDnaute Nouveau
Bonjour,

Encore une question probablement posée régulièrement, cependant je n'ai pas encore trouvé la réponse...

Voilà, j'ai une feuille avec 8 graphiques (les nombres peuvent évoluer), chacun contenant 3 courbes.
Comme je modifie à l'aide d'une macro les valeurs des données sources (uniquement le contenu, je ne touche pas à la taille de la plage de valeurs), je souhaiterais mettre à jour les courbes.

J'ai essayé plusieurs fonctions suite à des enregistrements de macro, mais je n'arrive à bout.

J'ai essayé notamment:
Code:
dim i, j, k as integer
dim owFeuille as worksheet
set owFeuille = activeworksheet

j = owFeuille.ChartObjects.Count
For i = 0 To j
    owDelay.ChartObjects(i).Activate
    'k = ActiveChart.SeriesCollection.Count
    For Each SeriesCollection In ActiveChart
          Calculate
    Next
Next

Mais ca ne marche pas.
J'ai remarqué qu'on pouvait actualiser les objets "SeriesCollection", malheureusement le
Code:
SeriesCollection.Count
ne marche pas, et l'objet "SeriesCollection" est lié à l'objet "chart" et pas à "Chartobject", que je peux lui compter sans trop de problème.

Je m'y prends probablement mal, et il existe probablement une fonction plus simple pour mettre à jour toutes les courbes de tous les graphiques d'une feuille...

Si qqun a une idée, je suis preneur!

Merci!

Haleakala
 

p@cm@n

XLDnaute Junior
Re : VBA - Mettre à jour les graphiques d'une feuille

Bonjour haleakala,

voici une macro que j'utilise dans un de mes classeur pour mettre à jour mes TCD et par la même occasion les graph associés. pour commander la macro j'ai mis un bouton "Mise àJour" sur la première feuille de mon classeur, je ne sais pas si cela pourra te convenir mais je te livre le code, à adapter avec ton classeur.

Sub MiseAJour()
'
' MiseAJour Tableau et Graph
' Macro enregistrée le 15/09/2005 par P@cM@n
'
' Tableau et Graphique A'
Sheets("Graphique Général").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotSelect "Données" _
, xlLabelOnly, True
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone

' Tableau et Graphique B'
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotSelect "Données" _
, xlLabelOnly, True
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.Refresh
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone

' Tableau et Graphique C'
ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotSelect "Données" _
, xlLabelOnly, True
ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotCache.Refresh
ActiveWorkbook.ShowPivotTableFieldList = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone

ActiveWindow.Visible = True
Sheets("feuille1").Select
Range("A1").Select
End Sub

en espérant t'avoir aider.

@+
 

Discussions similaires

Réponses
0
Affichages
176

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz