Lister les onglets d'un classeur fermé

CelluleVide

XLDnaute Occasionnel
Bonjour a tous,
Je voudrais lister dans une feuille d'un classeur nommé "Recap" les onglets d'un classeur fermé "Classeur Source"

La liste se place en colonne B, C, D....
Je voudrais TOTO, RIRI, FIFI.. A la place de Onglet1, Onglet2...
Je veux revenir dans le classeur a la fin.

J'ai regardé les sujet similaires dèjà traités mais sans succés.

A+
 

Pièces jointes

  • Classeur Source.xlsx
    9.3 KB · Affichages: 11
  • Recap.xlsx
    8.8 KB · Affichages: 16
  • Classeur Source.xlsx
    9.3 KB · Affichages: 15
  • Recap.xlsx
    8.8 KB · Affichages: 16
  • Classeur Source.xlsx
    9.3 KB · Affichages: 13
  • Recap.xlsx
    8.8 KB · Affichages: 16

Robert

XLDnaute Barbatruc
Repose en paix
Re : Lister les onglets d'un classeur fermé

Bonjour Cellulevide, bonjour le forum,

Sans ouvrir le classeur je ne sais pas faire... Le code ci-dessous ouvre le classeur source puis le referme :

Code:
Sub Macro1()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Object 'déclare la variable OD (Onglet Destination)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim I As Byte 'déclare la variable I (Incrément)

Set CD = ThisWorkbook 'définit le classeur CD
Set OD = CD.Sheets("Feuil1") 'définit l'onglet CD
CA = CD.Path & "\" 'définit le chemin d'accès Ca
OD.Rows(4).ClearContents 'Efface le contenue de la ligne 4 de l'onglet OD
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante")
Set CS = Workbooks("Classeur Source.xlsx") 'définit le classeur source SC (génère une erreur si ce classeur n'est pas ouvert)
If Err <> 0 Then 'condition : si une erreur a éte'générée
    Err.Clear 'supprime l'erreur
    Workbooks.Open (CA & "Classeur Source.xlsx") 'ouvre le classeur
    Set CS = ActiveWorkbook 'définit la classeur CS
End If 'fin de la condition
On Error GoTo 0 'supprime la gestion des erreurs
For I = 1 To CS.Sheets.Count 'boucle sur tous les onglets du classeur CS
    OD.Cells(4, I + 1).Value = CS.Sheets(I).Name 'place le non de l'onglet dans la ligne 4
Next I 'prochain onglet de la boucle
CS.Close SaveChanges:=False 'ferme le classeur source sans enregistrer
End Sub
 

Discussions similaires

Réponses
15
Affichages
1 K

Statistiques des forums

Discussions
312 305
Messages
2 087 085
Membres
103 461
dernier inscrit
dams94