Comment supprimer un fichier en utilisant VBA dans Excel ?

Pour supprimer un fichier Excel d’un dossier, vous pouvez utiliser deux méthodes différentes. La première méthode est l’instruction « Kill » qui prend le chemin du fichier pour faire référence au fichier que vous souhaitez supprimer. La deuxième méthode est l’objet FileSystemObject auquel est associée une méthode pour supprimer un fichier.

Pour utiliser ces codes, rendez-vous dans le VBE (Code Editor) depuis l’onglet développeur.

Supprimer un fichier à l’aide de VBA (fonction Kill)

La fonction Kill vous aide à supprimer un seul fichier ou plusieurs fichiers et à utiliser des caractères génériques pour supprimer plusieurs fichiers. Ci-dessous se trouve le code d’une ligne qui supprime le fichier du dossier que j’ai sur le bureau.

Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
supprimer un fichier en utilisant la fonction vba kill

Ce code vous affichera une erreur si le classeur que vous avez spécifié pour supprimer n’existe pas.

Liens utiles : Exécuter une macroEnregistreur de macrosVisual Basic EditorManuel de macros personnelles

Supprimer tous les fichiers d’un dossier à l’aide de VBA

Et si vous souhaitez supprimer tous les fichiers que vous avez dans un dossier, vous pouvez utiliser un caractère générique.

Kill "C:UsersDellDesktopSample Data*.xl*"
supprimer tous les fichiers d'un dossier en utilisant vba

Supprimer un fichier à l’aide de FileSystemObject (Object)

L’objet système de fichiers vous permet d’accéder au système de fichiers de l’ordinateur. Vous pouvez en apprendre davantage à partir d’ici, mais maintenant, écrivons un code pour supprimer un fichier.

  • Tout d’abord, vous devez déclarer les variables à utiliser dans le code en tant que classeur et FileSystemObject.
    delete a file using the file system object
  • Après cela, utilisez la fonction de création d’objet pour renvoyer le FileSystemObject en l’affectant à la variable FSO.
    create object function
  • Ensuite, attribuez le chemin à la variable « myFile » pour accéder au fichier que vous souhaitez supprimer.
    assign the path to the myfile
  • À la fin, utilisez la méthode « DeleteFile » (voir ceci) pour supprimer le fichier.
    use the delete file method

Code complet

Sub vba_delete_file()
Dim FSO
Dim myFile As String
Set FSO = CreateObject("Scripting.FileSystemObject")
myFile = "C:UsersDellDesktopSample Datafile1.xlsx"
FSO.DeleteFile myFile, True
End Sub

Disons que vous devez écrire un code qui peut vérifier un fichier (existe ou non) puis le supprimer. Voici le code dont vous avez besoin.

Sub vba_delete_file()
Dim FSO
Dim myFile As String
Set FSO = CreateObject("Scripting.FileSystemObject")
myFile = "C:UsersDellDesktopSample Datafile1.xlsx"
If FSO.FileExists(myFile) Then
    FSO.DeleteFile myFile, True
    MsgBox "Deleted"   
Else
    MsgBox "There's no workbook with this name."   
End If   
End Sub

Ajouter un commentaire

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