Export Excel sans écraser l'existant

Résolu
ptitbow Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
baladur13 Messages postés 47799 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je débute un peu en VBA et j'aimerais faire appel à votre aide concernant une petite manipulation sous Excel.

J'exporte des données d'un fichier Excel à un autre. Cela fonctionne correctement.

Néanmoins, je vais être amené à faire la manip' régulièrement et lorsque je relance le procédure une seconde fois, les données s'exportent mais remplacent les données existantes.

J'aimerais ajouter tester et copier les nouvelles données dans une nouvelle ligne (L+1) si la ligne précédente n'est pas vide.

Voici mon code d'export :

Sub test()
Dim classeurSource As Workbook, classeurDestination As Workbook

'définir le classeur destination
Set classeurDestination = ThisWorkbook

If Not Application.Dialogs(xlDialogOpen).Show Then Exit Sub

Set classeurSource = ActiveWorkbook

'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
classeurSource.Sheets("Sheet1").Range("D5:D20").Cells.Copy

classeurDestination.Sheets("Sheet1").Range("A1:Z1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=True, Transpose:=True

'fermer le classeur source
classeurSource.Close False

End Sub


Je vous remercie d'avance

A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

ecriture a partir de la ligne 2

Sub test()
    Dim classeurSource As Workbook, classeurDestination As Workbook
    
    Application.ScreenUpdating = False
    'définir le classeur destination
    Set classeurDestination = ThisWorkbook
    If Not Application.Dialogs(xlDialogOpen).Show Then Exit Sub
    Set classeurSource = ActiveWorkbook
    'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
    classeurSource.Sheets("Sheet1").Range("D5:D20").Cells.Copy
    With classeurDestination.Sheets("Sheet1")
        'premiere cellule vide colonne A
        PLV = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & PLV & ":Z" & PLV).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=True, Transpose:=True
    End With
    'fermer le classeur source
    classeurSource.Close False
    Application.ScreenUpdating = True
End Sub
0
ptitbow Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Je te remercie. Cela fonctionne.
0
baladur13 Messages postés 47799 Date d'inscription   Statut Modérateur Dernière intervention   13 688 > ptitbow Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
0