Copier Coller lignes dans une autre feuille

Résolu
Theologi Messages postés 1 Statut Membre -  
ThauTheme Messages postés 1564 Statut Membre -
Bonjour à tous,

J'essaye de faire une macro qui, après quelques manipulations que j'ai réussi à implémenter, copierait chaque ligne à partir de la 5ème jusqu'à la fin de la feuille (le nombre de ligne dépend de chaque onglet et est variable), dans ma dernière feuille "Récapitulatif".

Merci à tous ceux qui m'aideront, cela me sera d'une grande utilité!

1 réponse

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Theologi, bonjour le forum,

    Si j'ai bien compris tes non explications, essaie comme ça :

    Sub Macro1()
    Dim O As Worksheet 'déclare la variable O (Onglets)
    Dim R As Worksheet 'déclare la variable R (onglet Récapitulatif)
    Dim DL As Long 'déclare la variable DL (Dernière Ligne)
    Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
    
    Set R = Worksheets("Récapitulatif") 'définit l'onglet R
    For Each O In Sheets 'boucle sur tous les onglets O du classeur
        If Not O.Name = R.Name Then 'condition : si le nom de l'onglet O n'est pas le nom de l'onglet R
            DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet O (colonne à adapter à ton cas)
            'définit la cellule de destination DEST (A1, si A1 est vide, sinon la première cellule vide de la colonne A de l'onglet R)
            Set DEST = IIf(R.Range("A1").Value = "", R.Range("A1"), R.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0))
            O.Rows("5:" & DL).Copy DEST 'copie les lignes 5 à DL et le colle dans DEST
        End If 'fin de la condition
    Next O 'prochain onglet de la boucle
    End Sub

    1