Copie TCD sur une fichier Excel

Bonjour

je cherche a copier un TCD contenu sur un onglet d'un fichier X sur un fichier Y.

En recherchant sur le forum j'ai pu développer ceci mais ma macro bloque au niveau de la copie des nouvelles données au niveau de l'opération de suppression des données et également pour el collage des nouvelles données:

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

 'définir le classeur destination
 Set classeurDestination = ThisWorkbook

 '\\\\\\\\\\\\\\\\\\\\\tester si fichier deja ouvert\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
On Error Resume Next
Workbooks("Extraction SAP_MEF.xlsx").Activate
' Si une erreur est renvoyée, fichier non ouvert
If Err.Number <> 0 Then
  'j'ouvre le fichier source en lecture seule au cas ou
Application.Workbooks.Open "P:\14_flux\16- Planif centrale\8 - Planif lots\Nouveau outil planif 2018\Extraction SAP_MEF.xlsx", , True
End If
On Error GoTo 0

'Définir classeur source
 Set classeurSource = Workbooks("Extraction SAP_MEF.xlsx")

 'effacer les anciennes données
classeurDestination.Sheets("Données").Activate
' Supprime toutes les cellules et les décales vers le haut
    Cells.Delete Shift:=xlUp

'copier les données de la "Extraction SAP_MEF" du classeur source vers la "Données" du classeur destination
 Workbooks("Extraction SAP_MEF.xlsx").Sheets("MEF Article Jour").Activate
 Cells.Select
 Range("A1").Activate
    Selection.Copy
 classeurDestination.Sheets("Données").Activate
 Range("A1").Select
  ActiveSheet.Paste
'fermer le classeur source
' classeurSource.Close False

End Sub

Est ce que vous voyez quelque chose de déconnant dans mon code, ou est ce qu'il est possibel de faire plus simple? surement

Merci

Bonjour

Dans la fin du code, essayez en remplaçant

 'effacer les anciennes données
classeurDestination.Sheets("Données").Activate
' Supprime toutes les cellules et les décales vers le haut
    Cells.Delete Shift:=xlUp

'copier les données de la "Extraction SAP_MEF" du classeur source vers la "Données" du classeur destination
 Workbooks("Extraction SAP_MEF.xlsx").Sheets("MEF Article Jour").Activate
 Cells.Select
 Range("A1").Activate
    Selection.Copy
 classeurDestination.Sheets("Données").Activate
 Range("A1").Select
  ActiveSheet.Paste

par ceci

' Supprime toutes les cellules
classeurDestination.Sheets("Données").Cells.Delete ' Shift:=xlUp
'copier les données de la "Extraction SAP_MEF" du classeur source vers la "Données" du classeur destination
classeurSource.Sheets("MEF Article Jour").Cells.Copy classeurDestination.Sheets("Données").Range("A1")

Si ok et terminé, merci de cloturer le fil en cliquant sur le petit v en haut à droite lors de votre réponse

Cordialement

bonjour

salut Dan

s'il s'agit de traiter des données venant de SAP ou autre système de gestion, en principe on ne fait pas plusieurs fois le travail (même avec VBA)

on fait une connexion aux données (menu Données d'Excel, accepte de multiples formats, y compris SAP HANA), on crée le TCD

et ensuite il suffit d'actualiser le TCD.

on ne "copie" jamais de données, ni au clavier ni avec VBA.

Rechercher des sujets similaires à "copie tcd fichier"