[Excel VBA] données sources d'un graphique

Fermé
charvin Messages postés 1 Date d'inscription vendredi 19 décembre 2003 Statut Membre Dernière intervention 16 mai 2006 - 16 mai 2006 à 14:12
lilith2231 Messages postés 4 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 4 novembre 2010 - 4 nov. 2010 à 10:28
Bonjour,

Nous faisons tous beaucoup de graphiques avec Excel.
comment peut-on avec VBA retrouver l'ADRESSE des cellules contenant les données source d'un graphique???
(comme on peut le faire à la main avec la barre d'outils, Graphique, Données source).

Mon problème : j'ai plusieurs graphiques dans une feuille, les données sources ne sont pas à coté des graphiques, je souhaite faire une macro pour retrouver les adresse des données (sans passer par la barre d'outiles )et les modifier automatiquement si nécessaire.

D'avance Merci
:))
A voir également:

2 réponses

Bonjour,
J'ai également eu du mal à trouver la réponse. Les données sources peuvent être consultées et modifiés avec la propriété Formula de la Série. On dispose aussi des propriétés FormulaLocal, FormulaR1C1 et FormulaR1C1Local.
Voici un petit exemple qui illustre le modification des données sources d'un graphique Excel.

Sub ListCharts()
Dim ws As Worksheet
Dim co As ChartObject
For Each ws In Worksheets
Debug.Print ws.Name
For Each co In ws.ChartObjects
Debug.Print "------------"
Debug.Print co.Chart.Name
Debug.Print co.Chart.CodeName
Debug.Print co.Chart.PlotArea.Height
Debug.Print co.Chart.PlotArea.Top
Dim se As Series
Dim seNum As Integer
seNum = 1
For Each se In co.Chart.SeriesCollection
se.Formula = Replace(se.Formula, "$12", "$10")
Debug.Print "("; CStr(seNum); ") "; se.Name
Debug.Print "("; CStr(seNum); ") "; se.Formula
Debug.Print "("; CStr(seNum); ") "; se.FormulaLocal
Debug.Print "("; CStr(seNum); ") "; se.FormulaR1C1
Debug.Print "("; CStr(seNum); ") "; se.FormulaR1C1Local
seNum = seNum + 1
Next 'Series
Next 'ChartObjects
Next 'Worksheets
End Sub

La valeur de la propriété Formula est du type :
=SERIES(,Feuil2!$B$2:$B$12,Feuil2!$C$2:$C$12,1)

Marc
4
Kristoff-974
20 oct. 2010 à 21:29
Je m'arrachais les cheveux pour trouver ce code, c'est exactement ce que je cherchais... Merci !
0
lilith2231 Messages postés 4 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 4 novembre 2010
4 nov. 2010 à 10:28
Bonjour,

Comment fait-on si l'on souhaite modifier les colonnes de la série ?

Merci d'avance

Lili
0