Copier les données puis coller les données dans la 1ère cellule vide

Bonjour, je vous expose mon problème, je souhaite copier des données d'une feuille "A" à une autre et que ces données copiées se retrouvent à la suite des données déjà présentent dans les colonnes de la feuille "B". C’est-à-dire à partir de la première cellule vide de chaque colonne. J'ai réalisé le code suivant mais je ne comprends pas pourquoi il ne fonctionne pas.

A noter que les données que je dois copier commencent à partir de la deuxième ligne.

Merci d'avance pour votre aide.

Je joins le fichier si besoin.

22fonction-vba.xlsm (56.00 Ko)
Sub copiedernièreligne()
    Dim lgLigFinD As Long
    Dim lgLigFinLR As Long

    lgLigFinD = Worksheets("données").Range("A" & Cells.Rows.Count).End(xlUp).Row + 1  ' Dernière ligne vide dans la feuille données
    lgLigFinLR = Worksheets("Levées reserves").Range("A" & Cells.Rows.Count).End(xlUp).Row  ' Dernière ligne dans la feuille Levées reserves
    If lgLigFinD = 2 Then Exit Sub ' Si aucune ligne à copier, on sort

     ' Copier les données de la feuille "données" dans la première ligne vide de la feuille Levées reserves
    Worksheets("données").Range("A2:J" & lgLigFinD).Copy Destination:=Worksheets("Levées reserves").Range("A" & lgLigFinLR)

End Sub

Bonjour Carlospep

Essaie cela :

Sub copiedernièreligne()
    Dim lgLigFinD As Long
    Dim lgLigFinLR As Long
    lgLigFinLR = 2 'première ligne à vérifier
    ' Dernière ligne dans la feuille Levées reserves
Do While Not IsEmpty(Range("A" & lgLigFinLR))
    lgLigFinLR = lgLigFinLR + 1
Loop

    ' Dernière ligne vide dans la feuille données
    lgLigFinD = Worksheets("données").Range("A" & Cells.Rows.Count).End(xlUp).Row + 1

    ' Si aucune ligne à copier, on sort
    If lgLigFinD = 2 Then Exit Sub

     ' Copier les données de la feuille "données" dans la première ligne vide de la feuille Levées reserves
    Worksheets("données").Range("A2:J" & lgLigFinD).Copy Destination:=Worksheets("Levées reserves").Range("A" & lgLigFinLR)

End Sub

Bonne soirée

Bonsoir à tous,

Une autre manière en utilisant le fait que le tableau sur la première feuille est un tableau structuré.

Cela devrait fonctionner si entre autre:

  • le tableau structuré est complètement vide en colonne A. Dans ce cas, on colle malgré tout dans des lignes supplémentaires car rien ne garantit que les colonnes autres que A soient vides aussi.
  • la dernière cellule non vide de la colonne A est sur la dernière ligne du tableau structuré
  • ou bien le tableau possède des cellules vides dispersées en colonne A

Le code (dans le module de la première feuille) est un peu commenté.

nota : votre tableau structuré est un peu bizarre. Par souci d'efficacité, de clarté et de traitement simplifié, un tableau structuré ne devrait comporter aucune ligne vide. En fait c'est valable pour tout tableau se revendiquant d'être une base de données.

Merci beaucoup Patty5046 et Mafraise pour votre aide et ces explications très intéressantes :)

Rechercher des sujets similaires à "copier donnees puis coller 1ere vide"