sub newchartname()
Charts.Add
chartnameinitial = ActiveChart.Name
chartname="MorningStar"
ActiveSheet.ChartObjects(chartnameinitial).Name = chartname
end sub
sub newchartname() Charts.Add chartnameinitial = ActiveChart.Name chartname="MorningStar" ActiveSheet.ChartObjects(chartnameinitial).Name = chartname end sub
"JeNeVois" <JeNeVois@discussions.microsoft.com> a écrit dans le message de
news: 52AE33D1-0CBB-4752-BADF-28E18A07A307@microsoft.com...
Bonsoir !
Pourquoi la macro suivante échoue-t-elle ?
sub newchartname()
Charts.Add
chartnameinitial = ActiveChart.Name
chartname="MorningStar"
ActiveSheet.ChartObjects(chartnameinitial).Name = chartname
end sub
sub newchartname() Charts.Add chartnameinitial = ActiveChart.Name chartname="MorningStar" ActiveSheet.ChartObjects(chartnameinitial).Name = chartname end sub
Salutations
Pierre Fauconnier
Bonjour
Il faut utiliser activesheet.chartobject(...).name = "Un Chart"
car il faut nommer un chart un chart...
;-)
Juste pour rire, hum...
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"JeNeVois" a écrit dans le message de news:
Bonsoir !
Pourquoi la macro suivante échoue-t-elle ?
sub newchartname() Charts.Add chartnameinitial = ActiveChart.Name chartname="MorningStar" ActiveSheet.ChartObjects(chartnameinitial).Name = chartname end sub
Salutations
Bonjour
Il faut utiliser
activesheet.chartobject(...).name = "Un Chart"
car il faut nommer un chart un chart...
;-)
Juste pour rire, hum...
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"JeNeVois" <JeNeVois@discussions.microsoft.com> a écrit dans le message de
news: 52AE33D1-0CBB-4752-BADF-28E18A07A307@microsoft.com...
Bonsoir !
Pourquoi la macro suivante échoue-t-elle ?
sub newchartname()
Charts.Add
chartnameinitial = ActiveChart.Name
chartname="MorningStar"
ActiveSheet.ChartObjects(chartnameinitial).Name = chartname
end sub
Il faut utiliser activesheet.chartobject(...).name = "Un Chart"
car il faut nommer un chart un chart...
;-)
Juste pour rire, hum...
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"JeNeVois" a écrit dans le message de news:
Bonsoir !
Pourquoi la macro suivante échoue-t-elle ?
sub newchartname() Charts.Add chartnameinitial = ActiveChart.Name chartname="MorningStar" ActiveSheet.ChartObjects(chartnameinitial).Name = chartname end sub
Salutations
Pierre Fauconnier
Bonjour
Plus sérieusement, cela dépend de ce que tu souhaites obtenir. Tu peux vouloir renommer l'onglet ( Excel ) ou l'objet VBA.
Voici un code qui permet les deux. Je te conseille de travailler avec un objet Chart, c'est plus facile à manipuler.
Sub AddChart() Dim MonChart As Chart
Set MonChart = Charts.Add() MonChart.Name = "Pierre" ' Nom Excel de l'objet ThisWorkbook.VBProject.VBComponents(MonChart.CodeName).Name = "ch_Pierre" ' Nom VBA de l'objet End Sub
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"JeNeVois" a écrit dans le message de news:
Bonsoir !
Pourquoi la macro suivante échoue-t-elle ?
sub newchartname() Charts.Add chartnameinitial = ActiveChart.Name chartname="MorningStar" ActiveSheet.ChartObjects(chartnameinitial).Name = chartname end sub
Salutations
Bonjour
Plus sérieusement, cela dépend de ce que tu souhaites obtenir.
Tu peux vouloir renommer l'onglet ( Excel ) ou l'objet VBA.
Voici un code qui permet les deux. Je te conseille de travailler avec un
objet Chart, c'est plus facile à manipuler.
Sub AddChart()
Dim MonChart As Chart
Set MonChart = Charts.Add()
MonChart.Name = "Pierre" ' Nom Excel de l'objet
ThisWorkbook.VBProject.VBComponents(MonChart.CodeName).Name =
"ch_Pierre" ' Nom VBA de l'objet
End Sub
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"JeNeVois" <JeNeVois@discussions.microsoft.com> a écrit dans le message de
news: 52AE33D1-0CBB-4752-BADF-28E18A07A307@microsoft.com...
Bonsoir !
Pourquoi la macro suivante échoue-t-elle ?
sub newchartname()
Charts.Add
chartnameinitial = ActiveChart.Name
chartname="MorningStar"
ActiveSheet.ChartObjects(chartnameinitial).Name = chartname
end sub
Plus sérieusement, cela dépend de ce que tu souhaites obtenir. Tu peux vouloir renommer l'onglet ( Excel ) ou l'objet VBA.
Voici un code qui permet les deux. Je te conseille de travailler avec un objet Chart, c'est plus facile à manipuler.
Sub AddChart() Dim MonChart As Chart
Set MonChart = Charts.Add() MonChart.Name = "Pierre" ' Nom Excel de l'objet ThisWorkbook.VBProject.VBComponents(MonChart.CodeName).Name = "ch_Pierre" ' Nom VBA de l'objet End Sub
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"JeNeVois" a écrit dans le message de news:
Bonsoir !
Pourquoi la macro suivante échoue-t-elle ?
sub newchartname() Charts.Add chartnameinitial = ActiveChart.Name chartname="MorningStar" ActiveSheet.ChartObjects(chartnameinitial).Name = chartname end sub
Il s'agit en fait d'une macro qui produirait une série de charts, chacun couvrant une tranche identique de données, p.exp. le premier le range C1:C100, le deuxième le range C101:C200 etc. Chacun des charts devrait être déplacé sur une plage vide de la feuille et aligné verticalement au précédent. Ainsi la déclaration de chaque chart comme objet paraît un peu démesuré pour cette application... Après mon posting j'ai trouvé dans "Renommer graphe par vba" (qui avait échappé à ma recherche préalable "Nommer un chart") : Charts.Add ActiveChart.Name = chartname dont la forme raccourcie Charts.Add.Name = "MorningStar" est ,bien.sûr, encore plus concise.
Malheureusement le problème se trouve seulement déplacé, car Excel insiste , en l'occurence, sur le nom initial qui (pour compliquer encore un peu ce qui paraît simple) est soit du type "Graphique 3", soit "Graph3". Ainsi le déplacement avec ActiveSheet.Shapes("MorningStar").IncrementLeft 554.25 ActiveSheet.Shapes("MorningStar").IncrementTop 10.5 échoue comme toute autre action sur le chart renommé. A quoi bon un nom qui n'appelle pas le nommé ? :)
salutations
Pourquoi pas ?
Charts.Add.Name = "MorningStar"
AV
Merci à tous !
Il s'agit en fait d'une macro qui produirait une série
de charts, chacun couvrant une tranche identique
de données, p.exp. le premier le range C1:C100,
le deuxième le range C101:C200 etc.
Chacun des charts devrait être déplacé sur une
plage vide de la feuille et aligné verticalement
au précédent.
Ainsi la déclaration de chaque chart comme objet
paraît un peu démesuré pour cette application...
Après mon posting j'ai trouvé dans "Renommer graphe par vba"
(qui avait échappé à ma recherche préalable "Nommer un chart") :
Charts.Add
ActiveChart.Name = chartname
dont la forme raccourcie
Charts.Add.Name = "MorningStar"
est ,bien.sûr, encore plus concise.
Malheureusement le problème se trouve
seulement déplacé, car Excel insiste , en l'occurence,
sur le nom initial qui (pour compliquer encore un peu
ce qui paraît simple) est soit du type "Graphique 3",
soit "Graph3". Ainsi le déplacement avec
ActiveSheet.Shapes("MorningStar").IncrementLeft 554.25
ActiveSheet.Shapes("MorningStar").IncrementTop 10.5
échoue comme toute autre action sur le chart renommé.
A quoi bon un nom qui n'appelle pas le nommé ? :)
Il s'agit en fait d'une macro qui produirait une série de charts, chacun couvrant une tranche identique de données, p.exp. le premier le range C1:C100, le deuxième le range C101:C200 etc. Chacun des charts devrait être déplacé sur une plage vide de la feuille et aligné verticalement au précédent. Ainsi la déclaration de chaque chart comme objet paraît un peu démesuré pour cette application... Après mon posting j'ai trouvé dans "Renommer graphe par vba" (qui avait échappé à ma recherche préalable "Nommer un chart") : Charts.Add ActiveChart.Name = chartname dont la forme raccourcie Charts.Add.Name = "MorningStar" est ,bien.sûr, encore plus concise.
Malheureusement le problème se trouve seulement déplacé, car Excel insiste , en l'occurence, sur le nom initial qui (pour compliquer encore un peu ce qui paraît simple) est soit du type "Graphique 3", soit "Graph3". Ainsi le déplacement avec ActiveSheet.Shapes("MorningStar").IncrementLeft 554.25 ActiveSheet.Shapes("MorningStar").IncrementTop 10.5 échoue comme toute autre action sur le chart renommé. A quoi bon un nom qui n'appelle pas le nommé ? :)