Graph en VBA

Le
Amar Lacheheb
Bonsoir,
Je cherche en vba qui me renvoie (un peu comme Address le fait pour une
cellule) la plage de données que ce graph utilise (nom de la feuille et de
la plage de cellules).
Merci de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5383371
Bonsoir.
Tu peux récupérer une plage pour chaque série, car les plages ne sont pas
forcément contiguës.
Daniel
"Amar Lacheheb" fjjqs1$jvr$
Bonsoir,
Je cherche en vba qui me renvoie (un peu comme Address le fait pour une
cellule) la plage de données que ce graph utilise (nom de la feuille et de
la plage de cellules).
Merci de votre aide...



Amar Lacheheb
Le #5382701
Merci pour la réponse,
mais mon problème n'est pas tout à fait sa,
je cherche la ligne code en VBA qui me permet de recuperer la plage de
donnée d'un graph (qui existe déja),
comme la propriète Address pour une cellule te renvoie la position ou elle
se trouve,
par exemple si tu est en A3 dans une feuille, et que tu ecrit le code :
msgbox ActiveCell.Adress,vbinformation
le message te renvoie $A$3
Merci quand même pour ton aide

"Daniel.C"
Bonsoir.
Tu peux récupérer une plage pour chaque série, car les plages ne sont pas
forcément contiguës.
Daniel
"Amar Lacheheb" fjjqs1$jvr$
Bonsoir,
Je cherche en vba qui me renvoie (un peu comme Address le fait pour une
cellule) la plage de données que ce graph utilise (nom de la feuille et
de la plage de cellules).
Merci de votre aide...







Daniel.C
Le #5382671
Bonjour.
Tu n'as pas bien compris ce que je voulais dire :
Si tu construis un graphique un graphique avec une série en A1:A10 et une
autre en C20:C30, quelle plage veux-tu récupérer ?
Daniel
"Amar Lacheheb" fjlk2d$10$
Merci pour la réponse,
mais mon problème n'est pas tout à fait sa,
je cherche la ligne code en VBA qui me permet de recuperer la plage de
donnée d'un graph (qui existe déja),
comme la propriète Address pour une cellule te renvoie la position ou elle
se trouve,
par exemple si tu est en A3 dans une feuille, et que tu ecrit le code :
msgbox ActiveCell.Adress,vbinformation
le message te renvoie $A$3
Merci quand même pour ton aide

"Daniel.C"
Bonsoir.
Tu peux récupérer une plage pour chaque série, car les plages ne sont pas
forcément contiguës.
Daniel
"Amar Lacheheb" fjjqs1$jvr$
Bonsoir,
Je cherche en vba qui me renvoie (un peu comme Address le fait pour une
cellule) la plage de données que ce graph utilise (nom de la feuille et
de la plage de cellules).
Merci de votre aide...











Modeste
Le #5382541
Bonsour® Amar Lacheheb avec ferveur ;o))) vous nous disiez :

Merci pour la réponse,
mais mon problème n'est pas tout à fait sa,
je cherche la ligne code en VBA qui me permet de recuperer la plage de
donnée d'un graph (qui existe déja),
comme la propriète Address pour une cellule te renvoie la position ou
elle se trouve,


Cette fonctionnalité n'existe pas
sauf a nommer préalablement les zones de données, il n'est pas possible de
récuperer cette information

voir déclaration de Jon Peltier Guru en la matière :
The series formula is a simple text string, but there's no Search and Replace
feature in Excel that can access these formulas.

on peut cependant faire ceci-ci :
Sub AMAR()'
' Macro enregistrée le 11/12/2007 par modeste GeeDee
' ref :
' Amar Lacheheb Newsgroups: microsoft.public.fr.excel
' Date: Mon, 10 Dec 2007 17:52:34 +0100

Set mongraphe = ActiveSheet.ChartObjects("Graphique 1")
mongraphe.Activate
For Each SC In ActiveChart.SeriesCollection
MsgBox SC.Name & Chr(10) _
& SC.Formula
Next
End Sub

@+
;o)))

Amar Lacheheb
Le #5382481
Je veu les 2 séries si possible dans ton exemple,
Merci.

"Daniel.C" %
Bonjour.
Tu n'as pas bien compris ce que je voulais dire :
Si tu construis un graphique un graphique avec une série en A1:A10 et une
autre en C20:C30, quelle plage veux-tu récupérer ?
Daniel
"Amar Lacheheb" fjlk2d$10$
Merci pour la réponse,
mais mon problème n'est pas tout à fait sa,
je cherche la ligne code en VBA qui me permet de recuperer la plage de
donnée d'un graph (qui existe déja),
comme la propriète Address pour une cellule te renvoie la position ou
elle se trouve,
par exemple si tu est en A3 dans une feuille, et que tu ecrit le code :
msgbox ActiveCell.Adress,vbinformation
le message te renvoie $A$3
Merci quand même pour ton aide

"Daniel.C"
Bonsoir.
Tu peux récupérer une plage pour chaque série, car les plages ne sont
pas forcément contiguës.
Daniel
"Amar Lacheheb" fjjqs1$jvr$
Bonsoir,
Je cherche en vba qui me renvoie (un peu comme Address le fait pour une
cellule) la plage de données que ce graph utilise (nom de la feuille et
de la plage de cellules).
Merci de votre aide...















Amar Lacheheb
Le #5382471
c'est ce que je cherchait,
Merci pour votre aide.
"Modeste" uU34$N%
Bonsour® Amar Lacheheb avec ferveur ;o))) vous nous disiez :

Merci pour la réponse,
mais mon problème n'est pas tout à fait sa,
je cherche la ligne code en VBA qui me permet de recuperer la plage de
donnée d'un graph (qui existe déja),
comme la propriète Address pour une cellule te renvoie la position ou
elle se trouve,


Cette fonctionnalité n'existe pas
sauf a nommer préalablement les zones de données, il n'est pas possible de
récuperer cette information

voir déclaration de Jon Peltier Guru en la matière :
The series formula is a simple text string, but there's no Search and
Replace feature in Excel that can access these formulas.

on peut cependant faire ceci-ci :
Sub AMAR()'
' Macro enregistrée le 11/12/2007 par modeste GeeDee
' ref :
' Amar Lacheheb Newsgroups: microsoft.public.fr.excel
' Date: Mon, 10 Dec 2007 17:52:34 +0100

Set mongraphe = ActiveSheet.ChartObjects("Graphique 1")
mongraphe.Activate
For Each SC In ActiveChart.SeriesCollection
MsgBox SC.Name & Chr(10) _
& SC.Formula
Next
End Sub

@+
;o)))





Daniel.C
Le #5382261
Avec la macro suivante,, tu obtiens le nom des séries en colonne A,
éventuellement les abscisses en colonne B et les ordonnées en colonne C
(sur la feuille active, fais attention de ne pas écraser tes données)

Sub test()
Dim s As Series, ligne As Integer
For Each s In ActiveSheet.ChartObjects(1).Chart.SeriesCollection
ligne = ligne + 1
tablo = Split(s.Formula, ",")
Var = Right(tablo(UBound(tablo) - 3), Len(tablo(UBound(tablo) -
3)) - 8)
Cells(ligne, 1) = Right(tablo(UBound(tablo) - 3),
Len(tablo(UBound(tablo) - 3)) - 8)
Cells(ligne, 2) = Left(tablo(UBound(tablo) - 2),
Len(tablo(UBound(tablo) - 2)))
Cells(ligne, 3) = Left(tablo(UBound(tablo) - 1),
Len(tablo(UBound(tablo) - 1)))
Next s
End Sub

Daniel
"Amar Lacheheb" fjlv7b$1v0$
Je veu les 2 séries si possible dans ton exemple,
Merci.

"Daniel.C" %
Bonjour.
Tu n'as pas bien compris ce que je voulais dire :
Si tu construis un graphique un graphique avec une série en A1:A10 et une
autre en C20:C30, quelle plage veux-tu récupérer ?
Daniel
"Amar Lacheheb" fjlk2d$10$
Merci pour la réponse,
mais mon problème n'est pas tout à fait sa,
je cherche la ligne code en VBA qui me permet de recuperer la plage de
donnée d'un graph (qui existe déja),
comme la propriète Address pour une cellule te renvoie la position ou
elle se trouve,
par exemple si tu est en A3 dans une feuille, et que tu ecrit le code :
msgbox ActiveCell.Adress,vbinformation
le message te renvoie $A$3
Merci quand même pour ton aide

"Daniel.C"
Bonsoir.
Tu peux récupérer une plage pour chaque série, car les plages ne sont
pas forcément contiguës.
Daniel
"Amar Lacheheb" news: fjjqs1$jvr$
Bonsoir,
Je cherche en vba qui me renvoie (un peu comme Address le fait pour
une cellule) la plage de données que ce graph utilise (nom de la
feuille et de la plage de cellules).
Merci de votre aide...



















Amar Lacheheb
Le #5381731
Merci ,
c'est ce qu'il me fallait.

"Daniel.C"
Avec la macro suivante,, tu obtiens le nom des séries en colonne A,
éventuellement les abscisses en colonne B et les ordonnées en colonne C
(sur la feuille active, fais attention de ne pas écraser tes données)

Sub test()
Dim s As Series, ligne As Integer
For Each s In ActiveSheet.ChartObjects(1).Chart.SeriesCollection
ligne = ligne + 1
tablo = Split(s.Formula, ",")
Var = Right(tablo(UBound(tablo) - 3), Len(tablo(UBound(tablo) -
3)) - 8)
Cells(ligne, 1) = Right(tablo(UBound(tablo) - 3),
Len(tablo(UBound(tablo) - 3)) - 8)
Cells(ligne, 2) = Left(tablo(UBound(tablo) - 2),
Len(tablo(UBound(tablo) - 2)))
Cells(ligne, 3) = Left(tablo(UBound(tablo) - 1),
Len(tablo(UBound(tablo) - 1)))
Next s
End Sub

Daniel
"Amar Lacheheb" fjlv7b$1v0$
Je veu les 2 séries si possible dans ton exemple,
Merci.

"Daniel.C" %
Bonjour.
Tu n'as pas bien compris ce que je voulais dire :
Si tu construis un graphique un graphique avec une série en A1:A10 et
une autre en C20:C30, quelle plage veux-tu récupérer ?
Daniel
"Amar Lacheheb" fjlk2d$10$
Merci pour la réponse,
mais mon problème n'est pas tout à fait sa,
je cherche la ligne code en VBA qui me permet de recuperer la plage de
donnée d'un graph (qui existe déja),
comme la propriète Address pour une cellule te renvoie la position ou
elle se trouve,
par exemple si tu est en A3 dans une feuille, et que tu ecrit le code :
msgbox ActiveCell.Adress,vbinformation
le message te renvoie $A$3
Merci quand même pour ton aide

"Daniel.C"
Bonsoir.
Tu peux récupérer une plage pour chaque série, car les plages ne sont
pas forcément contiguës.
Daniel
"Amar Lacheheb" news: fjjqs1$jvr$
Bonsoir,
Je cherche en vba qui me renvoie (un peu comme Address le fait pour
une cellule) la plage de données que ce graph utilise (nom de la
feuille et de la plage de cellules).
Merci de votre aide...























Publicité
Poster une réponse
Anonyme