Copier des fichiers d'un répertoire vers un autre sans FileCopy
Shenein
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite copier des fichiers excel d'un répertoire vers un autre mais avec FileCopy ma macro plante quand l'un des fichier est ouvert...
Avez vous une autre solution à me proposer ?
Voici mon code :
Sub Copie_fichiers()
Dim rep1 As String
Dim fich1 As Variant
Dim chemin_destination As String
rep1 = "Y:\Gestion\3_Collecte_resultats" & "\"
fich1 = Dir(rep1 & "*.xlsx")
chemin_destination = "Y:\Gestion\4_Statistiques\" & "Stats_du_" & Format(Date, "ddmmyyyy") & "\Sources" & "\"
Do While fich1 <> ""
FileCopy rep1 & fich1, chemin_destination & fich1
fich1 = Dir()
Loop
End Sub
Merci pour votre aide.
Sarah
Je souhaite copier des fichiers excel d'un répertoire vers un autre mais avec FileCopy ma macro plante quand l'un des fichier est ouvert...
Avez vous une autre solution à me proposer ?
Voici mon code :
Sub Copie_fichiers()
Dim rep1 As String
Dim fich1 As Variant
Dim chemin_destination As String
rep1 = "Y:\Gestion\3_Collecte_resultats" & "\"
fich1 = Dir(rep1 & "*.xlsx")
chemin_destination = "Y:\Gestion\4_Statistiques\" & "Stats_du_" & Format(Date, "ddmmyyyy") & "\Sources" & "\"
Do While fich1 <> ""
FileCopy rep1 & fich1, chemin_destination & fich1
fich1 = Dir()
Loop
End Sub
Merci pour votre aide.
Sarah
2 réponses
Bonjour,
Tu dois pouvoir essayer d'utiliser le application.displayAlerts = false
https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.displayalerts
Ou voir avec du onerror
https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.displayalerts
Tu dois pouvoir essayer d'utiliser le application.displayAlerts = false
https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.displayalerts
Ou voir avec du onerror
https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.displayalerts
ça ne fonctionne pas avec DisplayAlerts.
Pour On Error, si je comprends bien ça va sauter le Fichier qui est ouvert ?
Si c'est ça, ça ne me convient pas car je dois avoir tous les fichiers...
Une autre idée ?
Pour On Error, si je comprends bien ça va sauter le Fichier qui est ouvert ?
Si c'est ça, ça ne me convient pas car je dois avoir tous les fichiers...
Une autre idée ?
Tu dois pouvoir le remplacer par un truc du genre
Private Declare Function CopyFile _ Lib "kernel32" _ Alias "CopyFileA" _ (ByVal lpExistingFileName As String, _ ByVal lpNewFileName As String, _ ByVal bFailIfExists As Long) As Long Sub essaiCopie() CopyFile "C:\Temp\test.txt", "C:\Temp\newTest.txt", 0& End Sub