XL 2016 Copier coller une feuille d'un classeur dans un autre classeur

Arthur.clb

XLDnaute Nouveau
Bonjour la communauté,
Je suis en stage en logistique et mes connaissance en VBA sont limité, j'ai donc rencontré un problème dont j'ai réussi a trouver pas mal d'info sur le forum mais malheureusement, ma macro ne marche toujours pas. Pour vous expliquer, je dois extraire la feuille numéro 1 "Donnees_a_extraire" du classeur "Fichier_trp" pour l'insérer ensuite dans un classeur vierge "Synthèse2019" dont la feuille est vierge et s'appelle "donnees_extraite". Je dois faire cela pour ensuite travailler sur cette feuille. Les deux classeurs se situent dans le même dossier dont le chemin est écrit dans le code. Je vous joins le fichier avec les données; pour le fichier de destination il est vierge donc inutile que je le joigne. Voici le code que j'ai déjà fais : PS : la macro s'executera dans le fichier vierge.

VB:
Sub Extraction()
Dim NCS As String 'Nom du Classeur Source
Dim CD As Workbook 'Classeur Destination
Dim CS As Workbook 'Classeur Source
Dim OD As Worksheet 'Onglet Destination
Dim CA As String 'Chemin d'Accueil

'NCS = "Fichier_trp.xlxs" 'nom du classeur source et son extension
Set CD = ThisWorkbook ' classeur destination CD
Set OD = CD.Worksheets("donnes_trp") 'onglet destination OD
CA = "C:\Users\slaur.logistique\Desktop\ARTHUR\transporteur\" 'définit le chemin d'accès CA
On Error Resume Next 'gestion des erreurs
Set CS = Workbooks("Fichier_trp.xlxs") 'définit le classeur source CS (erreur si ce classeur n'est pas ouvert)
If Err <> 0 Then 'condition : si une erreur a été générée
Err.Clear 'supprime l'erreur
Set CS = Application.Workbooks.Open(CA & "Fichier_trp.xlxs") 'définit le classeur source CS (en l'ouvrant)
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
CS.Worksheets(1).UsedRange.Copy OD.Range("A1") 'copie la plage utilisée du premier onglet du classeur source et la colle dans A1 de l'onglet destination
End Sub
 

Fichiers joints

Roblochon

XLDnaute Impliqué
Bonjour,

votre macro ne fonctionne pas parce que les fichiers .xlxs n'existent pas ou s'ils existent ce ne sont pas des fichiers excel.
Les fichiers excel sont des fichiers .xlsx

Pour éviter ce genre d'erreur ne mettez 'On error resume next' que lorsque votre macro aura été testée suffisamment.
sans cette ligne vous auriez eu une erreur vous signalant que le fichier était introuvable.

cordialement
 

Haut Bas