Microsoft 365 Supprimer classeur excel

duplaly

XLDnaute Occasionnel
Bonsoir
Possible d'avoir un code qui va parcourrir ces locations à la recherche du fichier "EXPORT.XLSX" et l'effacer.

FileNameToLocate = "EXPORT.XLSX" ' <--- Set the name & extension of the file to locate

Path = Array(Environ("USERPROFILE") & ("\Desktop\"), _
Environ("USERPROFILE") & "\Downloads\", _
Environ("USERPROFILE") & "\Documents\", _
Environ("USERPROFILE") & "\Temp\")

Merci pour votre aide à l'avance!
 

Staple1600

XLDnaute Barbatruc
Bonjour @bupaly, le fil

@dupaly
Glané sur le net, le jour de l'Indépendance du pays de Mickey
Et adapté selon ce qu'indique le message#1

Je te le laisse tester
VB:
Private fso As Object
Sub DeleteFiles()
Dim vPath, FileNameToLocate$, k%
FileNameToLocate = "EXPORT.XLSX" ' <--- Set the name & extension of the file to locate
vPath = Array(Environ("USERPROFILE") & ("\Desktop\"), _
Environ("USERPROFILE") & "\Downloads\", _
Environ("USERPROFILE") & "\Documents\", _
Environ("USERPROFILE") & "\Temp\")
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
For k = LBound(vPath) To UBound(vPath)
RecurseDelete vPath(k), FileNameToLocate
Next
End Sub
Private Sub RecurseDelete(currentFolder As String, fileToDelete As String)
Dim thisFolder As Object, subFolder As Object
If fso.FileExists(currentFolder & fileToDelete) Then fso.DeleteFile currentFolder & fileToDelete, True
Set thisFolder = fso.GetFolder(currentFolder)
For Each subFolder In thisFolder.SubFolders
    RecurseDelete subFolder.Path & "\", fileToDelete
Next subFolder
End Sub
 

duplaly

XLDnaute Occasionnel
Bonjour
Je viens de tester le code et je reçois une erreur.
Voir copie d'écran attachéée

Merci pour ton aide!
Capture d’écran 2023-05-19 090416.png
 

Staple1600

XLDnaute Barbatruc
Re

A l'arrache
Et comme ceci
Code:
Sub DeleteFiles()
Dim fso As Object
Dim vPath, FileNameToLocate$, k%
FileNameToLocate = "EXPORT.XLSX" ' <--- Set the name & extension of the file to locate
vPath = Array(Environ("USERPROFILE") & ("\Desktop\"), _
Environ("USERPROFILE") & "\Downloads\", _
Environ("USERPROFILE") & "\Documents\", _
Environ("USERPROFILE") & "\Temp\")
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
For k = LBound(vPath) To UBound(vPath)
RecurseDelete vPath(k), FileNameToLocate
Next
End Sub
Private Sub RecurseDelete(currentFolder As String, fileToDelete As String)
Dim fso As Object
Dim thisFolder As Object, subFolder As Object
If fso.FileExists(currentFolder & fileToDelete) Then fso.DeleteFile currentFolder & fileToDelete, True
Set thisFolder = fso.GetFolder(currentFolder)
For Each subFolder In thisFolder.SubFolders
    RecurseDelete subFolder.Path & "\", fileToDelete
Next subFolder
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

@dupaly
Alors changeons notre fusil d'épaule
Enrichi (BBcode):
Sub Essai_sans_FSO()
Dim vPath, FileNameToLocate$, k%
FileNameToLocate = "EXPORT.XLSX" ' <--- Set the name & extension of the file to locate
vPath = Array(Environ("USERPROFILE") & ("\Desktop\"), _
Environ("USERPROFILE") & "\Downloads\", _
Environ("USERPROFILE") & "\Documents\", _
Environ("USERPROFILE") & "\Temp\")
On Error Resume Next
For k = LBound(vPath) To UBound(vPath)
    FilePath = vPath(k) & FileNameToLocate
    If Dir(FilePath) <> "" Then
        MsgBox "Supprimer ce fichier dans ce dossier?", vbInformation
            ' Kill FilePath '<=décommenter cette ligne pour supprimer le fichier
        Else
        If Dir(FilePath) = "" Then
            MsgBox "Ce fichier n'existe pas dans ce dossier.", vbInformation, FilePath
        End If
    End If
Next
End Sub
 

duplaly

XLDnaute Occasionnel
Bonjour
Considérant que mon bureau est relié à One Drive, comment dois-je définir le chemin?
Voici ce que je vois en ouvrant les propriétés du fichier!

C:\Users\duplaly\OneDrive - CPGGPC\Bureau

Merci pour le support!
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, @dupaly

Je ne sais pas.
J'évite d'utiliser OneDrive.

Mais je sais utiliser le moteur de recherche d'XLD ;)
Voir le code de @sylvanu dans ce fil
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette