Comment déplacer des fichiers à l’aide de VBA (avec exemple)



Vous pouvez utiliser la méthode MoveFile dans VBA pour déplacer un fichier d’un dossier à un autre.

Voici une façon courante d’utiliser cette méthode dans la pratique :

Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Cette macro particulière déplace le fichier appelé soccer_data.txt d’un dossier appelé Some_Data_1 vers un dossier appelé Some_Data_2 .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : Comment déplacer des fichiers à l’aide de VBA

Supposons que nous ayons un fichier texte appelé soccer_data.txt situé dans un dossier appelé Some_Data_1 sur notre bureau :

Supposons maintenant que nous souhaitions utiliser VBA pour déplacer ce fichier texte vers un autre dossier appelé Some_Data_2 sur notre bureau, qui contient actuellement deux fichiers texte :

Avant d’utiliser VBA pour déplacer ce fichier, nous devons d’abord activer Microsoft Scripting Runtime dans l’éditeur VB.

Pour ce faire, ouvrez l’éditeur VB, puis cliquez sur Outils , puis cliquez sur Références :

Dans la nouvelle fenêtre qui apparaît, faites défiler vers le bas jusqu’à voir Microsoft Scripting Runtime et cochez la case à côté. Cliquez ensuite sur OK .

Ensuite, nous pouvons créer la macro suivante pour déplacer le fichier :

Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Une fois cette macro exécutée, le fichier nommé soccer_data.txt sera déplacé du dossier Some_Data_1 vers le dossier Some_Data_2 :

Notez que si vous souhaitez déplacer tous les fichiers d’un dossier à un autre, vous pouvez utiliser la syntaxe suivante :

Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source and destination folders
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\*"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\"

'move all files from source folder to destination folder
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Cette macro particulière déplacera tous les fichiers du dossier Some_Data_1 vers le dossier Some_Data_2 .

Remarque : Vous pouvez trouver la documentation complète de la méthode MoveFile ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

Comment créer des dossiers à l’aide de VBA
Comment supprimer des dossiers à l’aide de VBA
Comment supprimer des fichiers à l’aide de VBA

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *