Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

liste des graphiques dans un classeur

  • Initiateur de la discussion Initiateur de la discussion denislebreton
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

denislebreton

Guest
je sais accéder à un graphique en vba par son nom et surtout comment le nommer à la mano

mais est il possible de récupérer la liste des graphiques d'un classeur , onglet par onglet ?
en sachant que certains graphiques sont nommés d'autre ne le sont pas encore que ce dernier point n'est pas important.

Denis
 
Re : liste des graphiques dans un classeur

Salut,

Un petit bonjour et un petit merci ne font jamais de mal...

Code:
Option Explicit

Sub Test()
    Dim Graph As ChartObject
    Dim Sht As Worksheet
    Dim Liste As String
    
    For Each Sht In ThisWorkbook.Sheets
        Liste = Liste & Sht.Name & " :" & vbCrLf
        For Each Graph In Sht.ChartObjects
            Liste = Liste & vbTab & Graph.Name & vbCrLf
        Next Graph
        Liste = Liste & vbCrLf
    Next
        
    MsgBox Liste
End Sub
 
Re : liste des graphiques dans un classeur

ouh le vilain personnage (je parle de moi)
merci d'avoir apporter une réponse aussi rapide qu'efficace

cher(e) Minick veuillez recevoir mes excuses les plus plates pour cette impolitesse qui ne me caractérise pas habituellement
Au revoir
 
Dernière modification par un modérateur:
Re : liste des graphiques dans un classeur

aller pour compléter la réponse fort pertinente à mon impertinente question voilà un Module tout prêt pour ceux que cela intéresse
Le module crée un onglet et reporte dans l'onglet le nom de la feuille testée en titre (ligne 1) et la liste des graphes dans la colonne correspondante (possible d'inverser) à partir de la ligne 2.

Bonne lecture et bon usge

Sub list_graph()
Dim nf As String
Dim enf As Integer
Application.DisplayAlerts = False
nf = "Liste_Grph"
enf = 0
For Each F In ActiveWorkbook.Worksheets
If F.Name = nf Then enf = 1: Exit For
Next
If enf = 1 Then
Sheets(nf).Activate
ActiveSheet.Delete
End If
Sheets.Add
ActiveSheet.Name = nf
Dim Graph As ChartObject
Dim Sht As Worksheet
Dim liste_gph As String
coldest = 1
For Each Sht In ThisWorkbook.Sheets
ligdest = 1
Cells(ligdest, coldest).Value = Sht.Name
ligdest = ligdest + 1
For Each Graph In Sht.ChartObjects
Cells(ligdest, coldest).Value = Graph.Name
ligdest = ligdest + 1
Next Graph
coldest = coldest + 1
Next
Application.DisplayAlerts = True
End Sub
 
Re : liste des graphiques dans un classeur

Bonjour,

Je suis entrain d'essayer de faire fonctionner ce code car la macro m'interesse beaucoup ...mais j'ai un arrêt sur F non défini :
Pouvez-vous m'aider : F représente une variable mais on la définit comment dans cette procédure (merci beaucoup à l'auteur en passant).

Merci à l'avance de votre aide.
 
Re : liste des graphiques dans un classeur

Salut,

F est a declarer en Worksheet
Code:
Dim F as Worksheet

Dans ce code:
Code:
For Each F In ActiveWorkbook.Worksheets
On boucle sur chaque feuille du classeur actif.
 
Re : liste des graphiques dans un classeur

Bonjour,

Merci Minick mais je crains avoir d'autres soucis du même genre :
avec la variable coldest = et ligdest

désolée je suis pas douée😱


Merci
 
Re : liste des graphiques dans un classeur

Re,

ligdest depend du nombre de lignes du tableau final.
Ici je ne pense pas que ca pourra depasser 32767 lignes...
Donc un Interger devrait suffire largement voir meme un Byte (255 maxi)
Et pour coldest la meme chose vu qu'on ne peut avoir plus de 256 colonnes (sous xl2003) je mettrai un Byte

Donc
Code:
Dim ligdest as Interger
Dim coldest as Byte
Ou
Code:
Dim ligdest as Byte, coldest as Byte
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…