Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Sub Deplacer_fichier()
Dim fichier$, source$, destination$, fso As Object
fichier = "Données.xlsx"
source = "C:\Users\G\Documents\Fichiers à traiter\" & fichier
destination = "C:\Users\G\Documents\Fichiers traités\" & fichier
Set fso = CreateObject("Scripting.FileSystemObject")
fso.movefile source, destination
End Sub
Bonjour job75.
Pas s'ils sont sur des lecteurs différents, il semblerait.
À moins que ce soit détecté et que dans ce cas un MoveFile soit assumé automatiquement.
Mais ça m'étonnerait parce qu'en principe cette instruction ne déplace pas le fichier, elle change seulement sa référence, même si cela touche des noms de sous dossiers au lieu de son propre nom.
Sub Deplacer_fichier()
Dim fichier$, source$, destination$, fso As Object
fichier = "Données.xlsx"
source = "C:\Users\G\Documents\Fichiers à traiter\" & fichier
destination = "C:\Users\G\Documents\Fichiers traités\" & fichier
Set fso = CreateObject("Scripting.FileSystemObject")
fso.movefile source, destination
End Sub
Bonjour
si tu modifie un code que l'on te donne fait le bien
l'object FSO est un gros lourdaud le recréer a chaque fichier n'est pas nécessaire
et il y a filecopy aussi qui fonctionne très bien et qui est intégré dans excel
les 3 méthodes
Méthode FSO
VB:
Sub Deplacer_fichier()
'gel de l'ecran
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim fichier$, DossierSource$, DossierDestination$, FSO As Object 'variables necessaires
'veiller à ce que les chemin de dossiers terminent bien par un slach
DossierSource = "C:\Users\...\Fichiers à traiter\"
DossierDestination = "C:\Users\...\Fichiers traités\"
fichier = Dir(DossierSource & "*.xlsx") 'on lance un premier dir
If fichier <> "" Then 'si il y a quelque chose on continue
Set FSO = CreateObject("Scripting.FileSystemObject") 'le FSO on ne le crée qu'une fois
Do While fichier <> ""
FSO.movefile DossierSource & fichier, DossierDestination & fichier
fichier = Dir
DoEvents
Loop
End If
'degel de l'ecran
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Méthode FileCopy
VB:
Sub Deplacer_fichier2()
'gel de l'ecran
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim fichier$, DossierSource$, DossierDestination$ 'variables necessaires
'veiller à ce que les chemin de dossiers terminent bien par un slach
DossierSource = "C:\Users\...\Fichiers à traiter\"
DossierDestination = "C:\Users\...\Fichiers traités\"
fichier = Dir(DossierSource & "*.xlsx") 'on lance un premier dir
If fichier <> "" Then 'si il y a quelque chose on continue
Do While fichier <> ""
FileCopy DossierSource & fichier, DossierDestination & fichier
fichier = Dir
DoEvents
Loop
End If
'degel de l'ecran
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Méthode Name AS NewName
VB:
Sub Deplacer_fichier3()
'gel de l'ecran
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim fichier$, DossierSource$, DossierDestination$, 'variables necessaires
'veiller à ce que les chemin de dossiers terminent bien par un slach
DossierSource = "C:\Users\...\Fichiers à traiter\"
DossierDestination = "C:\Users\...\Fichiers traités\"
fichier = Dir(DossierSource & "*.xlsx") 'on lance un premier dir
If fichier <> "" Then 'si il y a quelque chose on continue
Do While fichier <> ""
Name DossierSource & fichier As DossierDestination & fichier
fichier = Dir
DoEvents
Loop
End If
'degel de l'ecran
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
- 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