Export Excel sans écraser l'existant

Résolu/Fermé
ptitbow Messages postés 2 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 22 janvier 2015 - Modifié par ptitbow le 22/01/2015 à 13:50
baladur13 Messages postés 46375 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 15 avril 2024 - 22 janv. 2015 à 16:37
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 janv. 2015 à 14:30
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 jeudi 22 janvier 2015 Statut Membre Dernière intervention 22 janvier 2015
Modifié par ptitbow le 22/01/2015 à 15:14
Je te remercie. Cela fonctionne.
0
baladur13 Messages postés 46375 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 15 avril 2024 13 209 > ptitbow Messages postés 2 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 22 janvier 2015
22 janv. 2015 à 16:37
0