OVH Cloud OVH Cloud

Méthode object.copyfile

1 réponse
Avatar
Nicolas
Bonsoir,

Je voudrais copier un fichier sur mon disque C: d'un emplacement vers un
autre en appuyant sur un bouton dans Excel.

Je sais faire avec la commande shell (dans une macro) appelant un fichier
BAT mais je voudrais pouvoir faire la copie sans passer par un batch.

La méthode object.CopyFile source, destination[, overwrite] devrait convenir
mais je ne sais pas où la placer.

Avez-vous une idée ?

1 réponse

Avatar
Frédéric Sigonneau
Bonsoir,

Quelques méthodes possibles de copie (ou de copie + changement du nom du
fichier), en affectant une procédure à un bouton :

- avec la méthode FileCopy de VBA :

Sub test1()
Dim Src$, Dest$
Src = "D:fsdataszazaCalculette Euros.xls"
Dest = "D:fsdatasCalculette Euros.xls"
'copier sans renommer
FileCopy Src, Dest
'copier et renommer
Dest = "D:fsdatasCalculette2.xls"
FileCopy Src, Dest
End Sub

- avec la méthode CopyFile du FileSystemObject :

Sub test2()
Dim Src$, Dest$
Src = "D:fsdataszazaCalculette Euros.xls"
Dest = "D:fsdatasCalculette Euros.xls"
With CreateObject("Scripting.FileSystemObject")
'copier sans renommer
.CopyFile Src, Dest
'copier et renommer
Dest = "D:fsdatasCalculette2.xls"
.CopyFile Src, Dest
End With
End Sub

Note : dans tous les cas, les dossiers des chemins de destination doivent
exister.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir,

Je voudrais copier un fichier sur mon disque C: d'un emplacement vers un
autre en appuyant sur un bouton dans Excel.

Je sais faire avec la commande shell (dans une macro) appelant un fichier
BAT mais je voudrais pouvoir faire la copie sans passer par un batch.

La méthode object.CopyFile source, destination[, overwrite] devrait convenir
mais je ne sais pas où la placer.

Avez-vous une idée ?