Copier Coller sur prochaine ligne vide

Bonjour,

Afin d'alimenter une base de donnée, je souhaiterais coller le tableau (D3:P29) de la feuille "Transfert des Données" (Ce sera toujours le même format), vers la feuille "Tableau des Données" en partant de la première ligne vide.

capture 1 capture 2

Merci de votre aide

Cdt

Christophe

Bonjour,

Merci d'insérer ce code dans un module

Option Explicit

Sub bascule()
    ActiveWorkbook.Sheets("Transfert des Données").Activate
    ActiveSheet.Range("D3:P29").Copy

    ActiveWorkbook.Sheets("Tableau des Données").Activate
    ActiveSheet.Cells(ActiveSheet.UsedRange.Rows.Count + 1, 2).Select
    ActiveSheet.Paste

    ActiveWorkbook.Sheets("Transfert des Données").Activate
    ActiveSheet.Range("D3:P29").ClearContents

    MsgBox ("Transfert terminé")

End Sub

Sans le fichier source a voir si ca fonction

Hello,

J'ai installé le code dans le module7 de la feuille "Transfert des Données", a priori il manque un détail ou je ne l'ai pas installé au bon endroit........

capture 3

Cdt

Christophe

re,

Merci de m'envoyer le fichier (j'ai crée un fichier et ça fonctionne donc difficile de comprendre).

Hi,

Oui bien sûr.......

Cdt

Christophe

Hi,

Encore merci pour le travail. Mais mon manque d'expérience a fait que je n'ai pas pensé à tous les paramètres. Par exemple, lorsque l'on prend la plage total, il exporte celle-ci en complet et les lignes non renseignées ne sont pas considérées comme vide. De plus comme il fait une opération d'export il efface certaine cellule comprenant des calcules et j'aurais aimé déclencher de la feuille "transfert des Données".

Je m’éclaircis les idées et je reviens vers toi

Cdt

Christophe

capture 1

Voial tout

C'est bon là ?

Bonjour,

Une proposition pour éviter les "Select"

Sub bascule()
Dim Dlig, Dlig2 As Integer
Dim Ws1, Ws2 As Worksheet

Application.ScreenUpdating = False
Set Ws2 = Worksheets("Tableau des Données")
Set Ws1 = Worksheets("Transfert de Données")

Dlig = Ws1.Cells(Rows.Count, "D").End(xlUp).Row
If Dlig < 3 Then 
    Msgbox " Il n'y a pas de donnée à transférer."
    Exit Sub
End If
Dlig2 = Ws2.Cells(3, "B").End(xlDown).Row + 1

Ws1.Range("D3:P" & Dlig).Copy
Ws2.Cells(Dlig2, "B").PasteSpecial Paste:=xlPasteValues

Ws1.Range("D3:J" & Dlig).ClearContents
MsgBox ("Transfert terminé")
End Sub

ric

Hi,

Bonjour Ric,

Merci pour ta proposition, pour le moment je suis en test et ça fonctionne, reste à régler le détail des feuilles protégées

Je ré-ouvrerais le dossier si problème

Merci de votre aide

Cdt

Christophe

Rechercher des sujets similaires à "copier coller prochaine ligne vide"