VBA supprimer un fichier... précisions

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

scaryfan

XLDnaute Nouveau
Salut à tous !

Je suis tombé sur un topic datant de 2004 (initiateur : Equino et membre : omicron) sur le forum dans lequel il y a le code suivant pour supprimer un fichier dans un répertoire :

Voici le code :

=====================================================
Private Sub CommandButton1_Click()
File = "F:\test.txt" 'Nom du fichier à supprimer .... (à adapter)
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(File)
If f Is Nothing Then
MsgBox "Fichier pas trouvé"
Exit Sub
Else
Rep = MsgBox("Le fichier demandé a été trouvé :" & Chr(13) & File & _
Chr(13) & Chr(13) & "Confirmez votre demande de suppression.", _
vbOKCancel, "Confirmation Delete")
If Rep = vbOK Then f.Delete
End If
End Sub
=======================================================


J'ai testé ce code et il fonctionne bien... sauf si le fichier n'existe pas...
Le débogueur s'arrête à la ligne 4 (ligne jaune) et me dit "Erreur d'exécution '53' - fichier introuvable"...
Pourtant, il y a un If pour le cas où...

Vos commentaires sur le sujet...

Merci !
 
Re : VBA supprimer un fichier... précisions

Bonsoir,

n'as-tu pas oublié une ligne ?
Code:
...
File = "F:\test.txt" 'Nom du fichier à supprimer .... (à adapter)
Set fs = CreateObject("Scripting.FileSystemObject")
[B][COLOR=Red]On Error Resume Next[/COLOR][/B] 'si erreur on saute la ligne suivante et f Is Nothing !
Set f = fs.GetFile(File)
If f Is Nothing Then
  MsgBox "Fichier pas trouvé"
  Exit Sub
End if
...
 
Re : VBA supprimer un fichier... précisions

Bonsoir,

Une autre solution
Code:
...................................
On Error GoTo erreur
Set f = fs.GetFile(File)
On Error GoTo 0
Rep = MsgBox("Le fichier demandé a été trouvé :" & Chr(13) & File & _
Chr(13) & Chr(13) & "Confirmez votre demande de suppression.", _
vbOKCancel, "Confirmation Delete")
If Rep = vbOK Then f.Delete
End If
erreur:
MsgBox "Fichier pas trouvé"
Exit Sub
On Error GoTo 0
End Sub

A tester

JP
 
Re : VBA supprimer un fichier... précisions

Bonsoir,

n'as-tu pas oublié une ligne ?
Code:
...
File = "F:\test.txt" 'Nom du fichier à supprimer .... (à adapter)
Set fs = CreateObject("Scripting.FileSystemObject")
[B][COLOR=Red]On Error Resume Next[/COLOR][/B] 'si erreur on saute la ligne suivante et f Is Nothing !
Set f = fs.GetFile(File)
If f Is Nothing Then
  MsgBox "Fichier pas trouvé"
  Exit Sub
End if
...

Super... je pensais bien qu'il manquait quelquechose...
Il faut que j'intègre dans mes codes la notion de "On Error..."...

Merci beaucoup
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
184
Réponses
5
Affichages
483
Réponses
2
Affichages
816
Retour