Comme vous l’avez vu dans les exemples, le nom d’un diagramme doit être connu pour pouvoir y accéder. La solution suivante écrit tous les noms des diagrammes utilisés dans le classeur dans la zone directe de votre environnement de développement.
Sub RechercherNomsDiagramme() Dim Blatt As Worksheet Dim i As Integer Dim Dia As ChartObject For i = 1 To Sheets.Count For Each Dia In Sheets(i).ChartObjects Debug.Print "Noms de la feuille: " & Sheets(i).Name & _ Chr(13) & "Noms des graphiques: " & Dia.Name & _ Chr(13) & Chr(13) Next Next i End Sub
Commentaires:
■ Définissez d’abord une variable de type ChartObject.
■ Vous créez ensuite une boucle externe qui fait défiler toutes les feuilles de calcul et une boucle interne qui écrit les noms des diagrammes individuels et leur position dans la zone directe avec l’instruction Debug.Print.
Renommer les diagrammes
Lorsque vous insérez un nouveau diagramme, il reçoit le nom CHART avec un numéro consécutif. Vous pouvez changer ce nom et le remplacer par votre propre nom. Pour ce faire, démarrez la macro suivante:
Sub RenommerGraphique() On Error Resume Next Sheets("Feuil2").ChartObjects(1).Name = "Nouveau nom" MsgBox Sheets("Feuil2").ChartObjects(1).Name End Sub
Utilisez la propriété Name pour donner un nouveau nom à l’objet de diagramme, puis affichez le nom dans un message à l’écran.