Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

si un repertoire est vide le supprimer

4 réponses
Avatar
Actarus
Bonjour, je souhaite supprimer un répertoire sur mon disque s'il n'y a plus
rien dedans. Comment le tester ?
Plus exactement : si c:\monrep\monsousrep est vide (il pourrait contenir
directement un fichier ou des sous répertoires), le supprimer. je ne veux
pas savoir ce qu'il y a dedans, simplement savoir s'il contient quelque
chose ou pas . Merci pour votre aide.

4 réponses

Avatar
db
Actarus a écrit :
Bonjour, je souhaite supprimer un répertoire sur mon disque s'il n'y a plus
rien dedans. Comment le tester ?
Plus exactement : si c:monrepmonsousrep est vide (il pourrait contenir
directement un fichier ou des sous répertoires), le supprimer. je ne veux
pas savoir ce qu'il y a dedans, simplement savoir s'il contient quelque
chose ou pas . Merci pour votre aide.




A mon avis, le plus simple est de le supprimer, et de gérer l'erreur
éventuelle qui en résultera.

Quelque chose comme ça :

Sub supprime(leRep)

On Error GoTo erreur
RmDir leRep
MsgBox "Répertoire supprimé"
GoTo fin
erreur:
If Err.Number = 75 Then
MsgBox "Le répertoire " & leRep & "n'est pas vide"
Else
MsgBox Err.Number & " " & Err.Description
End If
fin:

End Sub

A adapter, évidemment.

db
Avatar
Actarus
Je ne veux surtout pas supprimer le répertoire s'il contient quelque chose !
n'existe t il pas un moyen simple de savoir si un répertoire est vide ou non
? Merci.
Avatar
Gilbert
Bonjour,

Tu peux utiliser cette fonction pour connaitre le nombre de fichiers de ton
dossier :

Function NombreFichiers(strDir As String, Optional SousDossiers As Boolean False) As Long

With Application.FileSearch

.NewSearch

.LookIn = strDir

.FileName = "*.*"

.SearchSubFolders = SousDossiers

If .Execute > 0 Then

NombreFichiers = .FoundFiles.Count

End If

End With

End Function


--
Cordialement,

Gilbert


"Actarus" a écrit dans le message de
news:4b02bace$0$1008$
Bonjour, je souhaite supprimer un répertoire sur mon disque s'il n'y a


plus
rien dedans. Comment le tester ?
Plus exactement : si c:monrepmonsousrep est vide (il pourrait contenir
directement un fichier ou des sous répertoires), le supprimer. je ne veux
pas savoir ce qu'il y a dedans, simplement savoir s'il contient quelque
chose ou pas . Merci pour votre aide.




Avatar
db
Actarus a écrit :
Je ne veux surtout pas supprimer le répertoire s'il contient quelque chose !
n'existe t il pas un moyen simple de savoir si un répertoire est vide ou non
? Merci.




Mais justement : il ne sera pas supprimé s'il contient quelque chose.

db