Supprimer des fichiers et des dossiers en VBA

Il est possible, et même assez facile de travailler avec des fichiers en VBA. Après le tutoriel Manipulation basique des fichiers en VBA , je vous propose une nouvelle série des codes VBA, cette fois-ci axés sur la suppression des fichiers et des dossiers en VBA.

Cette article s'inspire du tutoriel (en anglais)  Delete files and folders de Ron de Bruin.

Les codes sources VBA qui suivent servent à supprimer de différentes manières des fichiers, des dossiers ou les deux en même temps. C'est une fonctionnalité très pratique de VBA mais…

Attention: Les fichiers/dossiers ainsi supprimés ne sont plus récupérables. Ils ne sont pas déplacés dans la Corbeille non plus. Ils sont tout simplement supprimés pour de bon!

Supprimer un fichier en VBA

Ceci est le cas le plus simple – nous voulons supprimer un fichier particulier. C'est la fonction VBA Kill qui permet de supprimer un fichier. Voici le code VBA:

Pour éviter les erreurs, il est utile de vérifier d'abord si le fichier en question existe. Pour cela, on utilisera les fonctions VBA Len et Dir (plus d'informations dans le tutoriel dédié à ce sujet)

 

Supprimer tous les fichiers dans un dossier en VBA

Le code VBA suivant vous permettra de supprimer définitivement tous les fichiers dans un dossier:

Vous pouvez constater le *.*  dans le code qui correspond à l'expression en métacaractèresune astérisque remplace une chaîne de caractères de n'importe quelle longueur (ici, cela signifie donc que l'on va supprimer des fichiers avec n'importe quel nom et n'importe quelle suffixe)

Et même ici, il est préférable de vérifier d'abord si le dossier existe:

 

Supprimer tous les fichiers remplissant un critère dans un dossier

Maintenant, imaginons que vous souhaitez supprimer tous les fichiers qui remplissent un critère particulier (exemple: tous les fichiers Excel, tous les fichiers PDF ou tous les fichiers dont le nom contient "test"). Voici le code VBA à utiliser dans ce cas-ci:

 

Supprimer un dossier et tous les sous-dossiers et fichiers qu'il contient

Et pour finir, vous pouvez aussi, grâce à un seul code, supprimer un dossier avec tout ce qu'il contient (fichiers, sous-dossiers)…
Mais je répète l'avertissement: soyez prudents car ce qui est effacé de cette manière est irrécupérable.

 

Conclusion de ce tutoriel

Avec ces codes VBA, vous pouvez pousser encore plus loin les possibilités de VBA – on est déjà bien loin de "ajout des bordures dans un tableau Excel"… Ces codes constituent des exemples pour montrer de manière la plus simple le principe de suppression de fichiers et dossiers en VBA. Vous pouvez facilement les transformer en fonctions qui qui auront pour argument le nom du fichier ou du dossier à supprimer. Ainsi, vous aurez des fonctions facilement réutilisables pour vos projets.

 

Exclusion de responsabilité: Ces codes VBA suppriment définitivement des fichiers et/ou des dossiers. Chaque utilisateur est seul  responsable d’utilisation de ces codes. Excel-Malin.com ne peut pas être tenu responsable d’une perte des données ou de quelconque dommage que l’utilisateur pourrait subir en utilisant ces codes.

Pour aller plus loin en VBA

Si ce tutoriel vous a été utile, n'hésitez pas à parcourir ce site car vous y trouverez sans doute d'autres informations pratiques qui vont vous servir dans votre utilisation de VBA. En voici quelques exemples…

Et n'oubliez pas de passer par la section "Téléchargements" pour voir ce qui est possible de faire grâce à VBA…

Laissez un commentaire

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

7 commentaires sur “Supprimer des fichiers et des dossiers en VBA”