Comment supprimer des dossiers à l’aide de VBA (avec exemples)
Vous pouvez utiliser les méthodes suivantes dans VBA pour supprimer des dossiers :
Méthode 1 : supprimer tous les fichiers du dossier
Sub DeleteFolderContents()
On Error Resume Next
Kill "C:\Users\bobbi\Desktop\My_Data\*.*"
On Error GoTo 0
End Sub
Cette macro particulière supprimera tous les fichiers du dossier appelé My_Data .
Méthode 2 : supprimer le dossier entier
Sub DeleteFolder()
On Error Resume Next
'delete all files in folder
Kill "C:\Users\bobbi\Desktop\My_Data\*.*"
'delete empty folder
RmDir "C:\Users\bobbi\Desktop\My_Data\"
On Error GoTo 0
End Sub
Cette macro particulière supprimera tout le dossier My_Data afin qu’il n’existe plus.
La ligne On Error Resume Next indique à VBA que si une erreur se produit et que le dossier n’est pas trouvé, aucun message d’erreur ne doit s’afficher.
Nous utilisons ensuite On Error GoTo 0 pour réinitialiser les paramètres par défaut des messages d’erreur.
Si vous souhaitez afficher un message d’erreur si le dossier est introuvable, supprimez simplement ces deux lignes du code.
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le dossier suivant appelé My_Data qui contient trois fichiers Excel :
Exemple 1 : supprimer tous les fichiers du dossier à l’aide de VBA
Supposons que nous souhaitions utiliser VBA pour supprimer tous les fichiers du dossier appelé My_Data .
Nous pouvons créer la macro suivante pour ce faire :
Sub DeleteFolderContents()
On Error Resume Next
Kill "C:\Users\bobbi\Desktop\My_Data\*.*"
On Error GoTo 0
End Sub
Une fois que nous exécutons cette macro et ouvrons à nouveau le dossier, nous verrons que tous les fichiers ont été supprimés :
Exemple 2 : supprimer un dossier entier à l’aide de VBA
Si vous souhaitez utiliser VBA pour supprimer l’intégralité du dossier appelé My_Data afin qu’il n’existe plus, vous pouvez créer la macro suivante :
Sub DeleteFolder()
On Error Resume Next
'delete all files in folder
Kill "C:\Users\bobbi\Desktop\My_Data\*.*"
'delete empty folder
RmDir "C:\Users\bobbi\Desktop\My_Data\"
On Error GoTo 0
End Sub
Une fois que nous exécutons cette macro et ouvrons l’Explorateur de fichiers, nous verrons que le dossier appelé My_Data n’existe plus :
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment compter le nombre de feuilles dans un classeur
VBA : Comment extraire des données d’un autre classeur
VBA : Comment supprimer une feuille si le nom contient un texte spécifique