Copier Coller lignes dans une autre feuille

Résolu/Fermé
Theologi Messages postés 1 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 18 avril 2017 - Modifié le 18 avril 2017 à 13:54
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 19 avril 2017 à 09:15
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é!

A voir également:

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
19 avril 2017 à 09:15
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