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

Comment nommer un graphique Excel

4 réponses
Avatar
Stan
Bonjour,

J'ai créé un graphique par macro, mais je ne vois pas comment le modifier
par la suite. Il faudrait que je puisse le nommer de façon à pouvoir ensuite
le manipuler à partir de son nom (move,delete,...). Sans pouvoir préciser
son nom, VB lui attribue un nom par défaut que je ne vois pas non plus
comment obtenir.

Le code de création du graphique est le suivant, l'argument "graphname" est
le nom que je souhaite attribuer au graphique.

Sub Trend_graph( _
sheet As String, _
line As Single, _
column As Single, _
graphname As String)

Dim plage As Range

' Selection de la plage
Worksheets(sheet).Range(Cells(line, column), Cells(line, column)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

' Chargement de <plage> avec la plage du tableau
Set plage = Range(Selection, Selection.End(xlToRight))

' Créer le graphique
Charts.Add
ActiveChart.ChartType = xlAreaStacked
ActiveChart.SetSourceData source:=plage, PlotBy:=xlRows
ActiveChart.Location Where:=xlLocationAsObject, name:=sheet
....

Merci par avance pour votre aide
Stan

4 réponses

Avatar
Daniel
Bonjur.
Ajoute le ligne :
ActiveChart.Name = graphname
en fin de macro.
Cordialement.
Daniel
"Stan" a écrit dans le message de news:
ORHHK%
Bonjour,

J'ai créé un graphique par macro, mais je ne vois pas comment le modifier
par la suite. Il faudrait que je puisse le nommer de façon à pouvoir
ensuite
le manipuler à partir de son nom (move,delete,...). Sans pouvoir préciser
son nom, VB lui attribue un nom par défaut que je ne vois pas non plus
comment obtenir.

Le code de création du graphique est le suivant, l'argument "graphname"
est
le nom que je souhaite attribuer au graphique.

Sub Trend_graph( _
sheet As String, _
line As Single, _
column As Single, _
graphname As String)

Dim plage As Range

' Selection de la plage
Worksheets(sheet).Range(Cells(line, column), Cells(line,
column)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

' Chargement de <plage> avec la plage du tableau
Set plage = Range(Selection, Selection.End(xlToRight))

' Créer le graphique
Charts.Add
ActiveChart.ChartType = xlAreaStacked
ActiveChart.SetSourceData source:=plage, PlotBy:=xlRows
ActiveChart.Location Where:=xlLocationAsObject, name:=sheet
....

Merci par avance pour votre aide
Stan




Avatar
Sarah
Bonjour, logiquement cette ligne de code fonctionne à condition que le
graphique soit sélectionné

ActiveChart.Parent.Name = "toto"



Bonjour,

J'ai créé un graphique par macro, mais je ne vois pas comment le modifier
par la suite. Il faudrait que je puisse le nommer de façon à pouvoir ensuite
le manipuler à partir de son nom (move,delete,...). Sans pouvoir préciser
son nom, VB lui attribue un nom par défaut que je ne vois pas non plus
comment obtenir.

Le code de création du graphique est le suivant, l'argument "graphname" est
le nom que je souhaite attribuer au graphique.

Sub Trend_graph( _
sheet As String, _
line As Single, _
column As Single, _
graphname As String)

Dim plage As Range

' Selection de la plage
Worksheets(sheet).Range(Cells(line, column), Cells(line, column)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

' Chargement de <plage> avec la plage du tableau
Set plage = Range(Selection, Selection.End(xlToRight))

' Créer le graphique
Charts.Add
ActiveChart.ChartType = xlAreaStacked
ActiveChart.SetSourceData source:=plage, PlotBy:=xlRows
ActiveChart.Location Where:=xlLocationAsObject, name:=sheet
....

Merci par avance pour votre aide
Stan





Avatar
Stan
Ca ne passe pas à l'exécution, si j'ajoute la ligne :

' Créer le graphique
Charts.Add
ActiveChart.ChartType = xlAreaStacked
ActiveChart.SetSourceData source:=plage, PlotBy:=xlRows
ActiveChart.Location Where:=xlLocationAsObject, name:=sheet
ActiveChart.name = graphname

J'ai le message d'erreur suivant à l'exécution :
La méthode 'Name' de l'objet '_Chart' a échoué.

Si je place la ligne juste après la ligne 'Charts.Add', le code peut alors
s'exécuter, mais il semble que le nom ne soit pas pris en compte, car si je
delete le graphique en enregistrant la macro, j'obtiens le code suivant :

ActiveSheet.ChartObjects("Graphique 1089").Activate
ActiveChart.ChartArea.Select
ActiveWindow.Visible = False
Selection.Delete

Et dans ce code, je constate que le nom utilisé ("Graphique 1089") n'est pas
celui que j'ai programmé.

Stan

"Daniel" a écrit dans le message de
news:
Bonjur.
Ajoute le ligne :
ActiveChart.Name = graphname
en fin de macro.
Cordialement.
Daniel
"Stan" a écrit dans le message de news:
ORHHK%
Bonjour,

J'ai créé un graphique par macro, mais je ne vois pas comment le
modifier


par la suite. Il faudrait que je puisse le nommer de façon à pouvoir
ensuite
le manipuler à partir de son nom (move,delete,...). Sans pouvoir
préciser


son nom, VB lui attribue un nom par défaut que je ne vois pas non plus
comment obtenir.

Le code de création du graphique est le suivant, l'argument "graphname"
est
le nom que je souhaite attribuer au graphique.

Sub Trend_graph( _
sheet As String, _
line As Single, _
column As Single, _
graphname As String)

Dim plage As Range

' Selection de la plage
Worksheets(sheet).Range(Cells(line, column), Cells(line,
column)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

' Chargement de <plage> avec la plage du tableau
Set plage = Range(Selection, Selection.End(xlToRight))

' Créer le graphique
Charts.Add
ActiveChart.ChartType = xlAreaStacked
ActiveChart.SetSourceData source:=plage, PlotBy:=xlRows
ActiveChart.Location Where:=xlLocationAsObject, name:=sheet
....

Merci par avance pour votre aide
Stan








Avatar
Stan
Ok, c'est bon.

Merci pour cette aide précieuse

Stan

"Sarah" a écrit dans le message de
news:
Bonjour, logiquement cette ligne de code fonctionne à condition que le
graphique soit sélectionné

ActiveChart.Parent.Name = "toto"



Bonjour,

J'ai créé un graphique par macro, mais je ne vois pas comment le
modifier


par la suite. Il faudrait que je puisse le nommer de façon à pouvoir
ensuite


le manipuler à partir de son nom (move,delete,...). Sans pouvoir
préciser


son nom, VB lui attribue un nom par défaut que je ne vois pas non plus
comment obtenir.

Le code de création du graphique est le suivant, l'argument "graphname"
est


le nom que je souhaite attribuer au graphique.

Sub Trend_graph( _
sheet As String, _
line As Single, _
column As Single, _
graphname As String)

Dim plage As Range

' Selection de la plage
Worksheets(sheet).Range(Cells(line, column), Cells(line,
column)).Select


Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

' Chargement de <plage> avec la plage du tableau
Set plage = Range(Selection, Selection.End(xlToRight))

' Créer le graphique
Charts.Add
ActiveChart.ChartType = xlAreaStacked
ActiveChart.SetSourceData source:=plage, PlotBy:=xlRows
ActiveChart.Location Where:=xlLocationAsObject, name:=sheet
....

Merci par avance pour votre aide
Stan