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

Ajouter un commentaire

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