Consolidation des centaines de feuilles

Je cherche un code pour consolider même feuille (Feuille; SD) de centaines classeurs, ci joint deux classeurs contenant même feuille SD (les infos sont données à titre d'exemple) que je veux consolider dans un classeur (mon TAF concerne un eu près 200 classeurs)

23f1.xlsx (41.92 Ko)
22f2.xlsx (43.53 Ko)

Bonjour

tes classeurs sont donc tous de même forme avec le même nb de colonnes avec les mêmes titres respectifs

sont -ils dans un même dossier ?

leurs noms sont -ils structurés ou quelconques ?

je suppose que tu veux mettre les données les unes sous les autres ...., sans rappel de leur fichier source...

merci de me le préciser

Cordialement

FINDRH

pour être précis, j'ai des centaines classeurs (F1, F2,..., F200) conservés dans un seul répertoire. ce que je cherche c'est de consolider tous les feuilles SD, qui ont une même structure en terme de nombre et des titres, jusqu'à ce que l'une vient sous les autres.

Bonjour

Encours de résolution

Proposition ce soir ou demain marin tôt

FINDRH

Bonjour,

Tu décompresses l'archive et tu ouvres le classeur Consolidation v1.xlsm.

ALT F8 et tu exécutes la procédure.

A te relire.

Cdlt.

26xlp-khali18.zip (49.31 Ko)
Option Explicit

Public Sub ConsolidateWorkbooks()
Dim sPath As String, sFile As String
Dim wb As Workbook, wbSource As Workbook
Dim lRow As Long

    Application.ScreenUpdating = False
    Set wbSource = ThisWorkbook
    sPath = wbSource.Path & "\"
    sFile = Dir(sPath & "*.xlsx")
    wbSource.Worksheets(1).Cells(1).CurrentRegion.Offset(1, 0).ClearContents
    lRow = 2
    While sFile <> ""
        Set wb = Workbooks.Open(sPath & sFile)
        If sFile <> wbSource.Name Then
        Worksheets(1).Cells(1).CurrentRegion.Offset(1, 0).Copy
        wbSource.Worksheets(1).Cells(lRow, 1).PasteSpecial xlPasteValues
        Application.CutCopyMode = False
        lRow = wbSource.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
        End If
        wb.Close True
        Set wb = Nothing
        sFile = Dir
    Wend

    Set wbSource = Nothing

End Sub

Bonsoir Khali18, bonsoir Jean Eric

Je viens de finir mes macros et vois que le maître a déjà frappé!

A tout hasard et en double de Jean Eric, ci joint un classeur RECAP avec deux boutons, l'un pour lister les fichiers présents dans le répertoire, l'autre pour consolider les fichiers listés en pointant leur reprise à titre de vérification ......

1) copier ce classeur et les fichiers à consolider dans un même répertoire

2) Onglet ListFich ==> clic sur lister fichiers pour obtenir la liste des fichiers présents

3) clic sur Consolider pour récupérer les données des fichiers listés, les fichiers traités voyant "Fait" apparaître dans la colonne adjacente

Syntaxe plus longue que celle de Jean Eric. qui fait tout en une fois et qui m'a encore appris des choses !

Cordialement

FINDRH

34recap.xlsm (25.58 Ko)

Bonjour,

merci jean-Eric votre résolution fonctionne très bien, c'est ce que je cherche

Une autre question, si j'ai +ieurs feuilles qui n'ont pas les mêmes positions dans les classeurs et je veux cibler la feuille X que ce je doit rajouter à vos codes précédents pour qu'il me consolide juste cette feuille .

Bonjour,

Si tes classeurs comportent plusieurs feuilles, dont une feuille nommée "SD", que tu veux copier, tu peux modifier

Worksheets(1).Cells(1).CurrentRegion.Offset(1, 0).Copy

par

Worksheets("SD").Cells(1).CurrentRegion.Offset(1, 0).Copy

Mais je pressens que tu as de nouvelles contraintes.

Cdlt.

Rechercher des sujets similaires à "consolidation centaines feuilles"