Comment supprimer des fichiers à l’aide de VBA (avec exemples)
Vous pouvez utiliser l’instruction Kill dans VBA pour supprimer un fichier Excel spécifique dans un dossier spécifique.
Voici une manière courante d’utiliser cette déclaration dans la pratique :
Sub DeleteFile()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
Cette macro particulière supprime le fichier Excel appelé soccer_data.xlsx situé dans le dossier suivant :
C:\Utilisateurs\Bob\Desktop\My_Data
La ligne On Error Resume Next indique à VBA que si une erreur se produit et que le fichier n’est pas trouvé, aucun message d’erreur ne doit être affiché.
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 fichier n’est pas trouvé, supprimez simplement ces deux lignes du code.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : supprimer un fichier à l’aide de VBA
Supposons que nous ayons le dossier suivant contenant trois fichiers Excel :
Supposons que nous souhaitions utiliser VBA pour supprimer le fichier appelé soccer_data.xlsx .
Nous pouvons créer la macro suivante pour ce faire :
Sub DeleteFile()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
Une fois que nous exécutons cette macro et ouvrons à nouveau le dossier, nous verrons que le fichier appelé soccer_data.xlsx a été supprimé :
Tous les autres fichiers sont restés intacts dans le dossier.
Si vous souhaitez qu’un message d’erreur s’affiche si le fichier n’existe pas, vous pouvez utiliser la macro suivante :
Sub DeleteFile()
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
End Sub
Lorsque nous exécutons cette macro, nous recevons le message d’erreur suivant :
Nous recevons ce message d’erreur car le fichier soccer_data.xlsx a déjà été supprimé et n’existe plus dans le dossier.
Remarque : Sachez que l’instruction Kill supprime définitivement un fichier et ne l’envoie pas simplement à la corbeille.
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