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