XL 2010 Copier/Coller un onglet dans un fichier Excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tonytone

XLDnaute Nouveau
Bonjour tout le monde,

Je suis nouveau dans le domaine du codage. En tout j'ai developpé trois codes au plus.
Actuellement je suis en train de faire une macro Dans un fichier excel permettant de copier un onglet d'un fichier Excel se trouvant dans un repertoire et serveur X vers mon fichier de traitement de données sur lequelle je vais appliquer un tableau croisé dynamique.

J'ai donc crée un bouton d'execution dont le code est le suivant :

Sub Copier_et_sauver_un_fichier_Excel()

' Copier un fichier dans un autre dossier sans l'ouvrir
' Variables
Dim chemin_fichier As String
Dim chemin_destination As String
'Identifier le chemin du fichier (original)
chemin_fichier = Application.GetOpenFilename(, , "W:\ERP LUX\SGI\SOUM_F.XLS")
'identifier le chemin du fichier (Destination)
chemin_destination = "Z:\Nouveau fichier.xls"
'Copier le fichier sans l'ouvrir
FileCopy chemin_fichier, chemin_destination
'message de confirmation
MsgBox (" Succès ! ")
End Sub

J'ai une erreur sur la ligne

FileCopy chemin_fichier, chemin_destination

Erreur 53 . Fichier introuvable

Ce n'est que le début et j'ai déjà une erreur.

Merci d'avance pour votre aide
 
Bonjour Tonytone, bonjour le forum,

Pas sûr d'avoir bien compris. Tu parles de copier un onglet et tu codes pour copier un fichier !?...
J'aurais plutôt écrit un code de ce style (a adapter à ton cas), placé dans le classeur de réception :

VB:
Sub Macro1()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)

Set CD = ThisWorkbook 'définit le classeur destination
Set OD = CD.Worksheets(CD.Worksheets.Count) 'définit l'onglet destination (ici j'ai pris le dernier onglet du classeur destination, tu adapteras...)
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set CS = Workbooks("SOUM_F.XLS") 'définit le classeur source CS (génère une erreur si ce classeur n'est pas ouvert)
If Err <> 0 Then 'condition : si un erreur a été générée
    Err.Clear 'efface l'erreur
    Set CS = Workbooks.Open("W:\ERP LUX\SGI\SOUM_F.XLS") 'définit le classeur source en l'ouvrant
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
Set OS = CS.Worksheets(1) 'définit l'onglet source (ici j'ai pris le premier onglet su classeur source, tu adapteras)
OS.Copy after:=OD 'copy l'onglet source après l'onglet destination
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
358
Retour