lister les feuilles d'un classeur fermé

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 !

Claudevba

XLDnaute Nouveau
j'essaie de lister les feuilles d'un classeur fermé. j'utilse cette fonction:

Sub ListeFeuillesClasseurFerme()
Dim XlConnect As Object, XlCatalog As Object
Dim Fichier As String, Resultat As String
Dim Feuille As Object

Fichier = "C:\dossier\Nom classeur.xls"

Set XlConnect = CreateObject("ADODB.Connection")
Set XlCatalog = CreateObject("ADOX.Catalog")

XlConnect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & _
";Extended Properties=Excel 8.0;"
Set XlCatalog.ActiveConnection = XlConnect

For Each Feuille In XlCatalog.Tables
Resultat = Resultat & Feuille.Name & vbCrLf
Next

MsgBox Resultat
End Sub

J'ai ajouté les bibliothèques recquises pour ADO. La procédure fonctionne à merveille avec les xls, mais avec les xlsx, il y'a problème. comment faire?
 
Re : lister les feuilles d'un classeur fermé

re 🙂

Petite adaptation, à l'aide des tutos trouvés ici (de silkyroad):
Lire et crire dans les classeurs Excel ferms

et ici:
Ce site n'existe plus

et ça fonctionne chez moi:

Code:
Sub ListeFeuillesClasseurFerme()
    Dim Cn As ADODB.Connection
    Dim Fichier As String
    Dim xlSheet As Variant
 
    'Définit le classeur fermé servant de base de données
    Fichier = "C:\classeur1.xlsx"
 
 
    Set Cn = New ADODB.Connection
    Set cat = CreateObject("ADOX.Catalog")
    '--- Connexion ---
    With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
            & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
        .Open
    End With
    '-----------------
 
Set cat.ActiveConnection = Cn
For Each xlSheet In cat.tables
Resultat = Resultat & xlSheet.Name & vbCrLf
Next
MsgBox Resultat
'--- Fermeture connexion ---
    Cn.Close
    Set Cn = Nothing
    Set cat = Nothing
End Sub

Bonne nuit,

mth
 
Dernière édition:
- 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

Discussions similaires

Réponses
7
Affichages
219
Réponses
3
Affichages
852
Retour