Regrouper plusieurs onglet en un seul

Bonjour

J'ai un classeur avec 6 feuilles(1 à 6) (générées depuis une autre macro) , entête identique (col A-AB) mais nb de données variables.

Je voudrais regrouper les feuilles 1 et 5 dans une nouvelle feuilles RECAP

J'ai trouvé un morceau de code ici même que j'ai adapté mais cela ne fonctionne pas, l'execution de la macro me retourne en RECAP, l'ensemble des feuilles 1à 6

Voici le code utilisé :

Sub TEST_1_5()

Dim dlgR As Integer, dlgi As Integer

Dim i As Byte

With Sheets("RECAP")

dlgR = .Range("A" & Rows.Count).End(xlUp).Row

.Range("A2:AB" & dlgR).ClearContents

End With

For i = 1 To Worksheets.Count

Select Case UCase(Sheets(i).Name)

Case Is = "1"

Case Is = "5"

Case Else

dlgR = Sheets("RECAP").Range("A" & Rows.Count).End(xlUp).Row

With Sheets(i)

dlgi = .Range("A" & Rows.Count).End(xlUp).Row

.Range("A2:AB" & dlgi).Copy Sheets("RECAP").Range("A" & dlgR + 1)

End With

End Select

Next

End Sub

Une idée de ce qui coince?

Merci

Salut,

Je te propose un code qui devrait faire l'affaire. A adapter à tes besoins.

Sub TEST_1_5()
Dim i As Integer, DerLig_Recap As Integer, DerLig_i As Integer

With Sheets("RECAP")
    .Range("A2:B" & Rows.Count).ClearContents
    For i = 1 To Worksheets.Count
        If Sheets(i).Name <> "RECAP" Then
            DerLig_Recap = .Range("A" & Rows.Count).End(xlUp).Row
            DerLig_i = Sheets(i).Range("A" & Rows.Count).End(xlUp).Row
            Sheets(i).Range("A2:B" & DerLig_i).Copy .Range("A" & DerLig_Recap + 1)
        End If
    Next i
End With

End Sub

La prochaine fois joins un fichier exemple.

Salutations.

45exemple-25.xlsm (35.48 Ko)

Bonjour,

Merci du retour, code plus court que le mien mais il reprend l'intégralité des différentes feuilles (dans mon cas Feuille 1 à 6) , hors je ne veux que la récap des feuilles 1 et 5

Pas mis de fichier joint car certaines données sensibles

C'était bien ma question sur mon premier post, comment corriger la macro pour que je regroupe que FEUIL "1" et "5"

Régis

Il suffit de remplacer la condition If …

If Sheets(i).Name = "Feuil1" Or Sheets(i).Name = "Feuil5" Then

Un fichier modèle peut-être créé sur la base d'un fichier réel en y enlevant les données confidentielles Par exemple mon fichier modèle

Amicalement.

33exemple-25-bis.xlsm (38.96 Ko)

Merci , c'est OK

Je modifie le tout, c'est du bonheur.

Régis

Rechercher des sujets similaires à "regrouper onglet seul"