Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie de Fichiers

  • Initiateur de la discussion Initiateur de la discussion FaridP
  • Date de début Date de début

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 !

FaridP

XLDnaute Occasionnel
Bonjour à Tous,

J'essaie de copier un fichier d'un répertoire à un autre mais je ne sais pas comment récupérer les chemins "Source" et "Destination" associés à la ligne sur laquelle figure le nom du fichier...

Je vous joins un fichier qui sera peut-être plus parlant.

Merci de votre Aide
Farid
 

Pièces jointes

Re : Copie de Fichiers

Salut Farid,

Je viens de jeter un oeil a ton fichier et a ton code. Pour ce qui est de la boucle, j'ai utilisé une boucle sans la plage nommée, cequi donne le code suivant :
Code:
Sub Test()
Dim Source$, Destination$
Dim i%
For i = 2 To Range("A65536").End(xlUp).Row
    Source = Cells(i, 2).Value
    Destination = Cells(i, 3).Value
    FileCopy Source, Destination
    Kill (Source)
Next i
End Sub

Par contre, tu dis vouloir copier un fichier d'un endroit vers un autre. Or, le code FileCopy permet de copier le contenu d'un fichier dans un autre. Pour copier le fichier, il faut que tu regardes du coté de CopyFile. Je t'aurais bien modifié la macro pour qu'elle fonctionne avec, mais je n'ai pas réussi a utiliser cette instruction.

@+
 
Re : Copie de Fichiers

Bonjour Farid, Bonjour Romain

Pour copier un fichier en utilisant l'instruction CopyFile, il faut d'abord définir l'objet, d'où le code

Sub Test()
Dim Source As String
Dim Destination As String
Dim C As Range
Set fso = CreateObject("Scripting.FileSystemObject")
Source = "C:\Documents and Settings\tartenpion\fichier1.xls"
Destination = "C:\Documents and Settings\tartenpion\fichier2.xls"
fso.CopyFile Source, Destination
Kill (Source)

End Sub

Source et Destination sont des chemins bidons dans mon exemple, c'est à adapter à vos besoins

Bon courage
 
Re : Copie de Fichiers

Bonjour FaridP, porcinet82, Jacques87,

Si l'objectif est de déplacer le fichier, plutôt que de le copier et ensuite supprimer la source, autant faire :
Code:
[SIZE=2]Name "C:\Fichier.xls"[COLOR=navy] As [/COLOR]"D:\Mes Documents\Fichier.xls"[/SIZE]
Avec cette instruction, on peut aussi en profiter pour le renommer au besoin :
Code:
[SIZE=2]Name "C:\Fichier.xls"[COLOR=navy] As [/COLOR]"D:\Mes Documents\Test.xls"[/SIZE]
Cordialement,
 
Re : Copie de Fichiers

Bonjour Farid, Jacques, Didier,

Ce n'est pas moi qui est posé la question, mais je vous remercie quand meme, Jacques pour m'avoir donné un coup de pouce, et Didier pour avoir proposé une autre solution (en plus est toute simple) qui semble en effet plus adapté au problème de Farid. Merci pour ces nouvelles connaissances, et au plaisir...

@+
 
Re : Copie de Fichiers

Bonjour à tous

C'est moi qui avait indiqué les instructions FileCopy et kill à Farid.

Porcinet tu m'as fait douter mais j'ai revérifié : Filecopy permet bien de copier un fichier. CopyFile est l'équivalent fso.

Sinon merci à MyDearFriend pour le Name : je l'avais totalement oublié et avais donc proposé cette solution en 2 temps.

Bon week end à tous
 
- 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
4
Affichages
227
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…