Rassembler des lignes de 3 feuilles sur une feuille

Bonjour à tous,

Je possède un classeur de 3 feuilles comportant un certains nombres de lignes dans chacune des feuilles.

je souhaiterai pouvoir automatiser la copie de toutes ces lignes dans une 4ème feuille simplement les unes à la suite des autres.

1ère feuille : par exemple 10 lignes

2ème feuille : par exemple 25 lignes

3ème feuille : par exemple 15 lignes

résultat souhaité :

4ème feuille : la copie des 10 lignes de la feuille 1, puis à partir de la 11eme ligne : la copie des 25 lignes suivantes et pour finir à partir de la 36ème ligne la copie des 15 dernières.

les 3 feuilles n'ont pas toujours le même nombre de ligne mais ont toujours le même nombre de colonnes.

la cerise sur le gâteau serait que les premières lignes de la feuille 1 se collent à partir de la 3ème ligne de la feuille 4

merci par avance de votre précieuse aide

ps : je joins un petit fichier modèle

38exemple.xlsx (43.11 Ko)

Bonjour,

fichier joint à tester

Sub try()
Dim myRange As Range
Dim a As Variant
Dim derLig As Long
Application.ScreenUpdating = False
With Sheets("Résultat souhaité")
derLig = .Range("A" & Rows.Count).End(xlUp).Row
If derLig > 2 Then .Range(.Range("A3"), .Range("A" & derLig)).Resize(.Range(.Range("A3"), .Range("A" & derLig)).Rows.Count, 10).ClearContents

Set myRange = .Range("A2")
For Each a In Array("Feuil1", "Feuil2", "Feuil3")
    Sheets(a).Cells(1).CurrentRegion.Copy myRange.Offset(1)
    Set myRange = .Range("A" & Rows.Count).End(xlUp)
Next a
End With
End Sub
49exemple.xlsm (24.24 Ko)

merci pour cette rapidité ^^

cela a l'air de fonctionner dans l'ensemble mais j'ai un soucis dans la recopie.... qui je pense provient que mes 3 feuilles sont le résultat de calculs de différentes feuilles donc truffées de formules.

il faudrait je crois que la copie se fasse sans la recopie des formules mais uniquement des valeurs.

si jamais cela n'est pas trop vous demander

merci par avance

remplace le code par celui ci alors

Sub try()
Dim myRange As Range
Dim a As Variant
Dim derLig As Long
Application.ScreenUpdating = False
With Sheets("Résultat souhaité")
derLig = .Range("A" & Rows.Count).End(xlUp).Row
If derLig > 2 Then .Range(.Range("A3"), .Range("A" & derLig)).Resize(.Range(.Range("A3"), .Range("A" & derLig)).Rows.Count, 10).ClearContents

Set myRange = .Range("A2")
For Each a In Array("Feuil1", "Feuil2", "Feuil3")
    Sheets(a).Cells(1).CurrentRegion.Copy
    myRange.Offset(1).PasteSpecial Paste:=xlPasteValues
    Set myRange = .Range("A" & Rows.Count).End(xlUp)
Next a
End With
Application.ScreenUpdating = False
End Sub

parfait et merci pour le copier valeur........ mais je me heurte à un autre soucis qui est normal vu que je vous l'ai pas dit.

dans mes 3 feuilles, j'ai des calculs et j'ai prévu un certain nombre de lignes de formules qui ne sont pas toujours remplies s'il n'y a pas assez de valeurs.

le soucis est que votre superbe macro ^^ me recopie ces lignes vierges en fait.

donc les feuilles se recopient parfaitement mais j'ai forcement des lignes vierges entre chaque copie.

si jamais cela n'est pas trop compliqué ? sinon je me débrouillerai avec un tri

merci encore pour tout

regarde si ça marche avec cette modification

Sub try()
Dim myRange As Range
Dim a As Variant
Dim derLig As Long
Application.ScreenUpdating = False
With Sheets("Résultat souhaité")
derLig = .Range("A" & Rows.Count).End(xlUp).Row
If derLig > 2 Then .Range(.Range("A3"), .Range("A" & derLig)).Resize(.Range(.Range("A3"), .Range("A" & derLig)).Rows.Count, 10).ClearContents

Set myRange = .Range("A2")
For Each a In Array("Feuil1", "Feuil2", "Feuil3")
    Sheets(a).Cells(1).CurrentRegion.Copy
    myRange.Offset(1).PasteSpecial Paste:=xlPasteValues
    Set myRange = .Range("A" & Rows.Count).End(xlUp)
Next a
derLig = .Range("A" & Rows.Count).End(xlUp).Row
Set myRange = .Range("A3:A" & derLig)
myRange.SpecialCells(xlCellTypeBlanks).Rows.EntireRow.Delete
End With
Application.ScreenUpdating = False
End Sub

bonjour,

désolé du retard mais j'ai été en déplacement pendant plusieurs jours.

malheureusement, la problématique reste la même, la macro me copie toujours les lignes correspondant à mes lignes de calculs même s'il elles sont vierges.

Rechercher des sujets similaires à "rassembler lignes feuilles feuille"