Récupérer le nom des feuilles d'un autre classeur

Bonjour à tous,

J'ai un premier classeur (qu'on appelera TOP) ou j'ai un tableau qui doit lister le nom des feuilles d'un autre classeur, cet autre classeur dans mon projet, est considéré comme une bibliothèque. Le but plus tard est d'avoir plusieurs bibliothèques différentes et de proposer à l'utilisateur quelle bibliothèque il souhaite utiliser lorsqu'il ouvre le premier classeur "TOP" , et par conséquent, la liste des feuilles dans le tableau sur ce classeur changerai en fonction de la bibliothèque voulue.

Je sais que c'est faisable ça ne me semble pas si dur, mais étant relativement nouveau sur VBA, je ne sais pas trop comment faire la chose. Dois-je mettre les classeurs bibliothèque à la même racine que le classeur TOP ? Et comment je peux aller lire les noms des onglets d'un autre classeur (qui n'est pas forcément ouvert, ou alors qui ne sera pas visible par l'utilisateur) puis les stocker dans un tableau sur le classeur TOP ?

Au début j'ai tout mis dans un seul et même excel, mais en terme de praticité et lourdeur c'est pas le mieux je rafraichissait ma liste de cette manière, est ce que j'ai "du bon" dans ce code à reprendre pour faire ce que je souhaite ?

Sub RefreshList()

Application.ScreenUpdating = False
RefreshList_FeuilleActive = ActiveSheet.Name

Dim i As Integer

Worksheets("Liste Taches-commandes").Select
Rows("2:" & Rows.Count).ClearContents 'Je nettoie les lignes de mon tableau
Worksheets("Liste Taches-commandes").Range("A2").Select 'Je me place dans la première case ou je souhaite commencer à remplir mon tableau

For i = 4 To Sheets.Count 'Les feuilles qui m'interressent se trouvent après la 3ème feuille.
ActiveCell.Value = Sheets(i).Name 'Je rempli la case du tableau avec le nom de la (i)ème feuille
ActiveCell.Offset(1, 0).Select 'Je me décale d'une case vers le bas pour la remplir après.
Next i

Sheets(RefreshList_FeuilleActive).Select
MsgBox ("Liste des taches mise à jour")
End Sub

Si je ne suis pas assez clair , n'hésitez pas à me le notifier

Merci d'avance et bonne semaine à vous

pour lister les feuilles d'un classeur ouvert je te donne une piste

Dim nomfeuille As Variant
Dim FeuilCopier As Worksheet 'Onglet qui sera à copier
For Each nomfeuille In ThisWorkbook.Worksheets 'avec Next va prendre les feuilles une à une du classeur

Set FeuilCopier = Worksheets(nomfeuille.Name)
ongletDest.Activate 'action sur feuille active

If nomfeuille.Name = "Liste d'équalisage" Then Exit For 'condition de fin de la boucle for each
Next nomfeuille 'autrement reprend la boucle

après vers un autre classeur je ne suis pas au point encore mais cela ressembe à un truc comme ci dessous

'ChDir "C:\Users\...\Desktop"
        'original_Cla = Dir("C:\Users\..\Desktop\... .xlsm")
        'Workbooks.Open original_Cla

Je sais que les 2 classeurs doivent être ouvert pour naviguer de l'un à l'autre

Merci, je viens de m'écrire un programme similaire, je pense peut etre lister chaque feuille dans chaque classeur, et avoir la première feuille de chaque classeur comme tableau qui listerai les feuilles, j'aurai ensuite plus qu'a lire le tableau de la premiere feuille du classeur bibliothèque pour connaître le nom des feuilles. A voir, je tatonne...

Rechercher des sujets similaires à "recuperer nom feuilles classeur"