Comment copier un dossier dans VBA (avec exemple)
Vous pouvez utiliser la méthode CopyFolder dans VBA pour copier un dossier d’un emplacement à un autre.
Voici une façon courante d’utiliser cette méthode dans la pratique :
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder , Destination:=DestFolder
End Sub
Cette macro particulière copie le dossier appelé current_data du dossier Documents vers le Bureau .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment copier des dossiers à l’aide de VBA
Supposons que nous ayons un dossier appelé current_data situé dans un dossier appelé Documents :
Supposons maintenant que nous souhaitions utiliser VBA pour copier l’intégralité de ce dossier sur le Bureau , qui contient actuellement deux dossiers :
Avant d’utiliser VBA pour copier 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 copier le dossier :
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder , Destination:=DestFolder
End Sub
Une fois cette macro exécutée, le dossier nommé current_data sera copié du dossier Documents vers le bureau :
Le dossier current_data d’origine restera également dans le dossier Documents .
Remarque : Vous pouvez trouver la documentation complète de la méthode CopyFolder 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 répertorier les fichiers dans un dossier à l’aide de VBA