Changer les titres de plusieurs graphique via macro

Nurbo

XLDnaute Nouveau
Salut tout le monde,


Je viens vers vous car je ne comprends pas tout. Pour situer, je "maitrise" assez bien en formule, mise en forme cond, TCD etc, par contre en macro je suis un bleu ;)

Je vous explique, j'ai une feuille (données) ou se trouve des....données.
Sur une autre feuille (Graph) se trouve.... 7 graphiques.

Le but de la chose est d'agir sur la feuille données qui est réactualisée chaque semaine, et les graphiques sont mis à jours en même temps.

Il ne me reste qu'une chose à automatiser, c'est le changement des titres des graphiques:
- si on est en semaine 46, le premier graph s'appelera : Semaine 46 - Site 1
et ainsi de suite pour les 7 graph, numéroté site 1, site 2....

J'ai essayé sur le 1er graph en faisant une macro enregistrée pour voir le code, j'ai essayé de mijoter un truc en ayant lu deux trois infos sur ce forum, mais ca fonctionne pas. Le 1er graph change de nom mais erreur par la suite:
Erreur 1004 - Erreur définie par l'application ou par l'objet

P.S: Pour avoir les noms des 7 graph dans le code ci-dessous j'ai enregistré une macro en cliquant sur chaque graph.

Code:
Sub rename_graph_scan()
'
' Changer le nom des graphiques

    ActiveSheet.ChartObjects("Semaine47").Activate
    ActiveChart.ChartTitle.Select
    ActiveSheet.ChartObjects("Semaine47").Activate
    ActiveChart.ChartTitle.Text = "Semaine " & Sheets("données").[D2] & " - site 1"
    ActiveSheet.ChartObjects("47").Activate
    ActiveChart.ChartTitle("47").Select
    ActiveSheet.ChartObjects.Activate
    ActiveChart.ChartTitle.Text = "Semaine " & Sheets("données").[D2] & " - site 2"
    ActiveSheet.ChartObjects("Chart 12").Activate
    ActiveChart.ChartTitle.Select
    ActiveSheet.ChartObjects("Chart 12").Activate
    ActiveChart.ChartTitle.Text = "Semaine " & Sheets("données").[D2] & " - site 3"
    ActiveSheet.ChartObjects("Chart 8").Activate
    ActiveChart.ChartTitle.Select
    ActiveSheet.ChartObjects("Chart 8").Activate
    ActiveChart.ChartTitle.Text = "Semaine " & Sheets("données").[D2] & " - site 4"
    ActiveSheet.ChartObjects("Chart 10").Activate
    ActiveChart.ChartTitle.Select
    ActiveSheet.ChartObjects("Chart 10").Activate
    ActiveChart.ChartTitle.Text = "Semaine " & Sheets("données").[D2] & " - site 5"
    ActiveSheet.ChartObjects("Chart 14").Activate
    ActiveChart.ChartTitle.Select
    ActiveSheet.ChartObjects("Chart 14").Activate
    ActiveChart.ChartTitle.Text = "Semaine " & Sheets("données").[D2] & " - site 6"
    ActiveSheet.ChartObjects("Chart 15").Activate
    ActiveChart.ChartTitle.Select
    ActiveSheet.ChartObjects("Chart 15").Activate
    ActiveChart.ChartTitle.Text = "Semaine " & Sheets("données").[D2] & " - site 7"
  
End Sub

En espérant avoir été clair, mais je suis au regret de vous annoncez qu'on me dit pas du tout pédagogue :D:D


Merci !


Nurbo
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Changer les titres de plusieurs graphique via macro

Re


Relis mon précédent message attentivement

Tu dois y voir une invitation (non dissimulée) à utiliser par toi-même le moteur de recherche

mots-clés: renommer graphiques

Autre exemple :
https://www.excel-downloads.com/threads/graph-le-nomer.27068/

Le plus conséquent étant la FAQ :
La page 1 Wiki de MichelXLD ...
 
Dernière édition:

Nurbo

XLDnaute Nouveau
Re : Changer les titres de plusieurs graphique via macro

Bon, j'ai lu quelques post en ayant fait "renommer graphique" comme recherche et je me suis aperçu que je me suis peut être mal exprimé, je ne veux pas changer les NOMS (en faisant CTRL + clic sur le graph), chose que j'ai appris y'a 2 minutes en lisant, mais bien changer les titres.

Ceux simplement accessible en cliquant une fois gauche dessus, mais le but étant de la faire pour les 7 graph en 1 clic via une macro.

Un peu comme cet exemple: https://www.excel-downloads.com/threads/macro-creation-de-graphique-en-masse.127778/

Mais je continu à chercher dans les wiki de Michel, une mine d'or !!!
 

Staple1600

XLDnaute Barbatruc
Re : Changer les titres de plusieurs graphique via macro

Bonsoir Maitre Kjin (Géographe en Chef ;) )
Pourquoi une macro ?
Parce que au Commencement était le VBA
Sub rename_graph_scan()
Alors je suis entré dans la salle de culte VBE
et là j'ai Dimmer en son Nom

VBAlléluia , mon frère

PS: je me permets ces familiarités avec sieur Kjin parce que je le connais pas ;)
(enfin en vrai dans la Life je veux dire, en dehors murs de mes Cellules)
 

Nurbo

XLDnaute Nouveau
Re : Changer les titres de plusieurs graphique via macro

Salut,

Finalement en cherchant on trouve :D

Je met tout de même ce que ça donne, et si quelqu'un pouvait me dire si le code n'est pas trop "exotique", car je vous rappel, ma connaissance en macro et aussi proche que le QI d'une huître !

Code:
Sub rename_graph_scan()
'
' Changer le titre des graphiques du taux de scan Macro



     
    ActiveSheet.ChartObjects("site1").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartTitle.Select
    Selection.Characters.Text = "Semaine " & Sheets("données").[D2] & " - site 1"
    ActiveSheet.ChartObjects("site2").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartTitle.Select
    Selection.Characters.Text = "Semaine " & Sheets("données").[D2] & " - site 2"
    ActiveSheet.ChartObjects("site3").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartTitle.Select
    Selection.Characters.Text = "Semaine " & Sheets("données").[D2] & " - site 3"
    ActiveSheet.ChartObjects("site4").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartTitle.Select
    Selection.Characters.Text = "Semaine " & Sheets("données").[D2] & " - site 4"
    ActiveSheet.ChartObjects("site5").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartTitle.Select
    Selection.Characters.Text = "Semaine " & Sheets("données").[D2] & " - site 5"
    ActiveSheet.ChartObjects("site6").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartTitle.Select
    Selection.Characters.Text = "Semaine " & Sheets("données").[D2] & " - site 6"
    ActiveSheet.ChartObjects("site7").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartTitle.Select
    Selection.Characters.Text = "Semaine " & Sheets("données").[D2] & " - site 7"
    Selection.AutoScaleFont = False
    With Selection.Characters(Start:=1, Length:=2).Font
        .Name = "Arial"
        .FontStyle = "Gras"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
  
End Sub

Est-ce que je peux le mettre en résolu ?
 

kjin

XLDnaute Barbatruc
Re : Changer les titres de plusieurs graphique via macro

Bonsoir,
Essaies comme ceci
Code:
Sub rename_graph_scan()
For i = 1 To 2
    Set cht = ActiveSheet.ChartObjects("site" & i).Chart
    With cht.ChartTitle
        .Text = "Semaine " & Sheets("données").[D2] & " - site " & i
        .Font.Name = "Arial"
        .Font.Bold = True
        .Font.Size = 12
    End With
Next
End Sub
Sinon, tu peux aussi simplement associer ton titre à une formule d'où ma question précédente
A+
kjin
 

Nurbo

XLDnaute Nouveau
Re : Changer les titres de plusieurs graphique via macro

Sinon, tu peux aussi simplement associer ton titre à une formule d'où ma question précédente
A+
kjin

Merci pour la réponse, mais justement je pensais, et d'après les quelques infos que j'avais glaner que mon problème ne pouvait se résoudre que par macro, mais si c'est possible par formule pourquoi pas.

As tu une piste à me donner histoire que je cherche un peu, ça fait toujours progresser de bidouiller :)
 

Nurbo

XLDnaute Nouveau
Re : Changer les titres de plusieurs graphique via macro

Salut Kjin,

En effet, ta solution marche parfaitement et enlève le "clic" de la macro, donc encore plus simple. :cool:

Je pensais en fait que l'on ne pouvait pas assoicer un titre à une celulle dans le 2003...

Merci.
 

Discussions similaires