Microsoft 365 Fusionner classeur avec consolidation des données

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 !

pierrof

XLDnaute Occasionnel
Bonjour,

Je dispose d'une trentaine de classeurs identiques avec des données différentes sur 2 feuilles). J'aimerais savoir si c'est possible de consolider tous ces classeurs en un seul avec la somme des données.

Je vous joins des fichiers type.

Merci de vos lumières

Bonne journée
 

Pièces jointes

Bonjour Pierrof,
Un essai en PJ. Il faut que tous les fichiers à consolider ainsi que ce fichier ce trouve dans le même dossier, et que les noms de feuilles soient toujours identiques et les données au même endroit. Avec :
VB:
Sub Consolide()
Dim Wb, Fichier, Dossier, Colonne, DL, Axe2, Axe3
Sheets("Axe2").Cells.ClearContents                  ' On efface les 2 feuilles
Sheets("Axe3").Cells.ClearContents
Colonne = 5                                         ' On commence en colonne E
Application.ScreenUpdating = False
Dossier = Dir(ThisWorkbook.Path & "\")
CeFichier = ThisWorkbook.Name
While Dossier <> ""                                 ' On parcourt tous les fichiers
    If Dossier <> CeFichier And Right(Dossier, 4) = "xlsx" Then
        Workbooks.Open (Dossier)                    ' On ouvre le fichier
        DL = Sheets("Axe2").[E1000].End(xlUp).Row   ' On sauvegarde les données dans les tableaux Axe2 et Axe3
        Axe2 = Sheets("Axe2").Range("E1:E" & DL)
        DL = Sheets("Axe3").[E1000].End(xlUp).Row
        Axe3 = Sheets("Axe3").Range("E1:E" & DL)
        Workbooks(Dossier).Close SaveChanges:=False ' On ferme le fichier
        Sheets("Axe2").Cells(1, Colonne).Resize(UBound(Axe2, 1), UBound(Axe2, 2)) = Axe2 ' Restitution des données
        Sheets("Axe2").Cells(1, Colonne) = Dossier
        Sheets("Axe3").Cells(1, Colonne).Resize(UBound(Axe3, 1), UBound(Axe3, 2)) = Axe3
        Sheets("Axe3").Cells(1, Colonne) = Dossier
    Colonne = Colonne + 1                           ' Prochaine colonne où coller
    End If
    Dossier = Dir                                   ' Prochain fichier à ouvrir
Wend
End Sub
 

Pièces jointes

Bonjour

Cela peut se faire aisément en quelques clics via PowerQuery intégré à Excel.

Mais de toute évidence tes exemples sont très simplifiés...

Une feuille pour indiquer le dossier où se trouvent les classeurs : à modifier avant d'utiliser, Données Actualiser Tout

Edit : j'avais commencé avant de voir le message de Merinos que je salue
 

Pièces jointes

- 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
4
Affichages
834
Réponses
10
Affichages
938
Retour