Comment renommer un graphique en vba excel?????

Nkubi Messages postés 43 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 3 juin 2004 - 20 avril 2004 à 16:04
pio_killer Messages postés 62 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 avril 2016 - 15 mai 2013 à 15:55
Bonjour

Je veux renommer un graphique pour faciliter son utilisation et je n'y arrive pas.
J'ai trouvé quelques trucs un peu partout mais rine ne marche je continue à avoir des graphiques qui s'appellent Graphique12455454.

S'il vous plait aidez-moi parce que la J'EN AI MAAAARRRREEEE.
%-6 %-6
desolé.

Merci.

7 réponses

pio_killer Messages postés 62 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 avril 2016 13
15 mai 2013 à 15:55
Bonjour,

pour pas avoir déterré le sujet pour rien, voici le résultat en une ligne

ActiveSheet.ChartObjects(Right(ActiveChart.Name, Len(ActiveChart.Name) - Len(ActiveSheet.Name) - 1)).Name = "nouveau nom"
16
cs_kiki95 Messages postés 3 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 11 novembre 2009 2
11 nov. 2009 à 13:29
Même 5 ans après, on peut avoir le problème
Avec Excel 2007,
'je crée un graphique qui s'appelle "Graphique xxx"
ActiveSheet.Shapes.AddChart.Select
'Je repère le nom du graphique créé
NomGraphe = ActiveChart.Name
'Ce nom est long, puisqu'il contient le nom de la feuille plus le nom du graphique: ex: Feuille1 Graphique 1573
'Donc extraction du nom réel du graphe
'1er temps: Instr pour savoir où se trouve le début du nom "Graphique"
Ligne = InStr(1, NomGraphe, "Graph")
'2ème temps: Recherche du nom du graphe seul sans le nom de la feuille
NomGraphe = Mid(NomGraphe, Ligne, 50)
'3ème temps: Renommage du graphe
ActiveSheet.Shapes(NomGraphe).Name = "Groupe A" 'C'est le nouveau nom
Ouf, mais ce n'est pas directement le dernier temps: erreur 438...
 
2
Bonjour à tous,

Ce que kiki95 a mis, c'est bon, mais il faut mettre ces lignes de code impérativement après la ligne:

ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"

Parce que si elles sont mises avant, la fonction Charts.Add crée un graphique sur une nouvelle feuille et dans la variable NomGraphe il n'y a pas le même nom de graphique que s'il est mis sur une feuil1 par exemple, ce qui fait que lorsque vous faîtes ensuite des opérations sur le graphique, par exemple:

ActiveSheet.Shapes("Groupe A").IncrementLeft -94.5

, le compilateur ne reconnaît pas "Groupe A" parce que dans

ActiveSheet.Shapes(NomGraphe).Name = "Groupe A", le compilateur ne reconnait pas NomGraphe puisqu'il a déjà changé de nom avec la ligne

ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"

Je ne sais pas si j'ai réussi à faire comprendre le pourquoi du comment...
1
florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
20 avril 2004 à 18:26
Si c le nom de l' "objet" graphique que tu veux changer, voila comment faire:
Application.Sheets(<Nom/indicedelafeuille>).ChartsObjects.item(<Nom/IndiceDuGraph>).Name = "truc"

Si c le titre du graphique que tu veux changer:
Application.Sheets(<Nom/indicedelafeuille>).ChartObjects.Item(<Nom/IndiceDuGraph>).Chart.ChartTitle.Text="NouveauTitre"

Pour toucher au titre, assure toi que la propriété "HasTitle" de "Chart" est à true

Good luck man.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nkubi Messages postés 43 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 3 juin 2004
21 avril 2004 à 07:53
Merci florantanplan,
mais tu peux me dire comment je récupère le nom ou l'indice du graphique, parce que maintenant ça doit être un truc du genre graphique20.
J'ai essayé de mettre activecharts mais il me dit qu'il n'y a pas d'arguments facultatif.

merci.
0
florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
21 avril 2004 à 12:09
Je comprend pas trop ta question, si à la base ton but était de renommer un graphique, tu es logiquement sensé connaître quel graphique tu veux modifier...
0
cs_Thibault56 Messages postés 2 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 1 septembre 2010
19 mai 2009 à 18:09
Bonjour,

J'ai moi aussi le même problème, je n'arrive pas à renommer le graphique créé par une macro (son nom évolue a chaque "tour" et pas selon une suite logique).

Ce graphique doit ensuite être utilisé dans une autre macro (pas forcément activer juste après). Il faut donc que le nom de ce graphique reste toujours le même (en tout cas je ne vois pas d'autres solutions).

Après avoir chercher la solution un peu partout, et essayé celle-ci dessus, je n'y arrive toujours pas... Il me dit Erreur d'exécution 438. Propriété ou méthode non gérée par cet objet...

Merci d'avance pour votre aide!

Voici mon code!

Sub NomGraphique()
Dim NomGraph As String, Grapheserie As String, Serietemp As String
    NomGraph = ActiveChart.Name
    Application.Sheets("Serietemp").ChartsObjects.Item("NomGraph").Name = "Grapheserie"
End Sub

PS: ma feuille: Serietemp, le nom que je veux donné au graphe: Grapheserie
0
Rejoignez-nous