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

Signaler
Messages postés
43
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
3 juin 2004
-
Messages postés
62
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
15 avril 2016
-
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

Messages postés
62
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
15 avril 2016
10
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"
13
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
mercredi 9 février 2005
Statut
Membre
Dernière intervention
11 novembre 2009
1
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...
 
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...
Messages postés
76
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
8 septembre 2006

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.
Messages postés
43
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
3 juin 2004

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.
Messages postés
76
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
8 septembre 2006

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...
Messages postés
2
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
1 septembre 2010

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