Bonsoir,

voilà plusieurs heures que je recherche la solution à mon problème, mais sans résultat.

Je recherche à lister la totalité des feuilles se trouvant sur un autre classeur que le classeur ouvert. Puis afficher le résultat dans des cellules définies du classeur courant.

Le choix du classeur se fera par l’indication du chemin situer dans une autre cellule.

Exemple en A1 : Chemin du fichier où je souhaite récupérer le nom des feuilles.

En C1 et suivant : la liste de toutes les feuilles.

Merci à tous pour votre aide.

J'avais trouvé le code ci-dessous, mais cela ne marche que pour le classeur courant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub ListSheetTypes()
'd'après Rob Bovey, mpep
Dim objSheet As Object
Dim szType As String, sousType As String
 
 
 
  For Each objSheet In ActiveWorkbook.Sheets
    i = i + 1
    Cells(i, 1) = objSheet.Name
    szType = TypeName(objSheet)
    If szType = "Worksheet" Then
      Select Case objSheet.Type
        Case xlWorksheet
          sousType = szType
        Case xlExcel4MacroSheet
          sousType = "Excel4MacroSheet"
        Case xlExcel4IntlMacroSheet
          sousType = "Excel4IntlMacroSheet"
      End Select
      Cells(i, 2).Value = sousType
    Else
      Cells(i, 2).Value = szType
    End If
    Next objSheet
 
End Sub
J'ai essayé de le "bricoler" en rajoutant ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Workbooks.Open Filename:="C:\Users\David\Desktop\boulot\SUIVI SPB le 2811.xls"
 dep = ActiveWorkbook.Name
 
  For Each objSheet In Workbooks(dep).Sheets
Mais le résultat s'affichait alors dans le classeur actif et non dans le classeur de destination.

David
Ile de la Réunion