Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Graph en VBA

8 réponses
Avatar
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...

8 réponses

Avatar
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" a écrit dans le message de 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...



Avatar
Amar Lacheheb
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" a écrit dans le message de news:

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" a écrit dans le message de 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...







Avatar
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" a écrit dans le message de news:
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" a écrit dans le message de news:

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" a écrit dans le message de 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...











Avatar
Modeste
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)))

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

"Daniel.C" a écrit dans le message de news:
%
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" a écrit dans le message de news:
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" a écrit dans le message de news:

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" a écrit dans le message de 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...















Avatar
Amar Lacheheb
c'est ce que je cherchait,
Merci pour votre aide.
"Modeste" a écrit dans le message de news:
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)))





Avatar
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" a écrit dans le message de news:
fjlv7b$1v0$
Je veu les 2 séries si possible dans ton exemple,
Merci.

"Daniel.C" a écrit dans le message de news:
%
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" a écrit dans le message de news:
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" a écrit dans le message de news:

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" a écrit dans le message de
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...



















Avatar
Amar Lacheheb
Merci ,
c'est ce qu'il me fallait.

"Daniel.C" a écrit dans le message de news:

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" a écrit dans le message de news:
fjlv7b$1v0$
Je veu les 2 séries si possible dans ton exemple,
Merci.

"Daniel.C" a écrit dans le message de news:
%
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" a écrit dans le message de news:
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" a écrit dans le message de news:

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" a écrit dans le message de
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...