VBA - Copier une ligne a la suite dans une autre feuille

Bonjour à tous !

Je suis nouvelle sur le forum et je débute en VBA. J'ai un fichier Excel avec deux feuilles.

Dans la feuille "New_Comer" je remplis les informations d'une personne sur une ligne (La ligne 2 du fichier). Je voudrais ensuite avoir un bouton qui exporte cette ligne à la suite des autres lignes dans la feuille "Data", puis qui l'efface de la feuille "New_Comer".

L'idée est qu'on remplisse pour chaque nouvel arrivant la ligne 2 de la feuille "New_Comer", et que la feuille "Data" contienne toutes les lignes des nouveaux arrivants qui ont été recensés.

Voici le code que j'ai essayé d'écrire mais il ne marche pas

Sub Macro1()

Application.ScreenUpdating = False

Sheets("New_Comer").Range("A2:O2").Copy

last_line = Sheets("Data").Cells(Row.Count, 1).End(xlUp).Offset(1,0)

last_line.PasteSpecial Paste:=xlAll, Operation:=xlNone, Transpose:=True

Application.ScreenUpdating = False

Sheets("New_Comer").Range("A2:O2").ClearContents

Application.CutCopyMode = False

End Sub

Merci pour votre aide, et n'hésitez pas a me dire si ce n'est pas clair !

Bonjour,

Une piste, voir les commentaires pour compréhension :

Sub Test()

    Dim Plage As Range
    Dim Lig As Long

    'défini la plage sur la ligne 2 de la feuille "New_Comer" à partir de A2
    With Worksheets("New_Comer"): Set Plage = .Range(.Cells(2, 1), .Cells(2, .Columns.Count).End(xlToLeft)): End With

    With Worksheets("Data")

        'récupère le numéro de la dernière ligne non vide sur la colonne A de la feuille "data" et lui ajoute 1
        Lig = .Cells(.Rows.Count, 1).End(xlUp).Row + 1

        'inscrit les valeurs
        .Range(.Cells(Lig, 1), .Cells(Lig, Plage.Columns.Count)).Value = Plage.Value

        'vide la zone de saisie
        Plage.ClearContents

    End With

End Sub

Bonjour ! En effet cela marche très bien , merci beaucoup pour votre aide, et vos commentaires qui aident à comprendre le code

Bonne journée

Rechercher des sujets similaires à "vba copier ligne suite feuille"