Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Fusionner plusieurs feuilles de calcul issus d'un même fichier

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 !

Tidjyphenom

XLDnaute Nouveau
Bonjour,

Je me demandais comment je pouvais fusionner plusieurs feuilles de calcul d'un même fichier Excel en une seule nouvelle feuille. Chaque feuille possèdent les même colonnes du même nom et de même position. Je crois savoir que la fonction Consolider dans Excel devrait m'aider mais je n'ai pas trouver comment l'utiliser correctement même en recherchant sur Google. Voici un fichier exemple en pièce jointe. Le but ici étant d'avoir sur la feuille 3 le contenu des feuilles 1 et 2.

Merci.
 

Pièces jointes

Solution
Une solution VBA très simple, dans le code de Feuil3 :
VB:
Private Sub Worksheet_Activate()
Dim lig&, w As Worksheet, P As Range, h&
lig = 2
Application.ScreenUpdating = False
Rows(lig & ":" & Rows.Count).Delete 'RAZ
For Each w In Worksheets
    If w.Name <> Me.Name Then
        Set P = w.[A1].CurrentRegion.EntireRow
        h = P.Rows.Count - 1
        If h Then
            P.Rows(2).Resize(h).Copy Cells(lig, 1) 'copier-coller
            lig = lig + h
        End If
    End If
Next
End Sub
La macro se déclenche quand on active la feuille.

A+
Une solution VBA très simple, dans le code de Feuil3 :
VB:
Private Sub Worksheet_Activate()
Dim lig&, w As Worksheet, P As Range, h&
lig = 2
Application.ScreenUpdating = False
Rows(lig & ":" & Rows.Count).Delete 'RAZ
For Each w In Worksheets
    If w.Name <> Me.Name Then
        Set P = w.[A1].CurrentRegion.EntireRow
        h = P.Rows.Count - 1
        If h Then
            P.Rows(2).Resize(h).Copy Cells(lig, 1) 'copier-coller
            lig = lig + h
        End If
    End If
Next
End Sub
La macro se déclenche quand on active la feuille.

A+
 

Pièces jointes


Merci, j'avais regardé sur Power Query. Je suis sûr que c'est plus simple d'ailleurs sur Power Query une fois qu'on le maitrise mais de mon côté je n'ai pas réussi. En revanche ta macro fonctionne bien comme demandée. Bien que pour parfaire le truc, l'idéal aurait été de choisir de ne fusionner uniquement que toutes les feuilles à gauche de celle où est appliquée la MACRO afin de ne pas ajoutée des données non voulues dans d'autres feuilles (celles à droite). Mais ta macro m'a fait 99% du travail. Pour le reste je devrais pouvoir bidouiller la bouche for each. 🙂
 
Bah il suffit par exemple de remplacer :
VB:
If w.Name <> Me.Name Then
par :
VB:
If w.Index < Me.Index Then
 
- 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
416
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…