Supprimer tous les contenus d'un répertoire créé sous VBA

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 !

Legendre

XLDnaute Nouveau
Bonjour,
Je souhaite supprimer un répertoire et son contenu (plusieurs dossiers avec diverses extensions).
Ce répertoire a été initialement créé en renseignant "oui" dans le ComboBox31 et doit être supprimé en remplaçant "oui" par "non";
Cependant, ce code fonctionne partiellement quand il n'y a pas de contenus dans le répertoire.
Quelle instruction dois-je rajouter en plus du "RmDir"pour que ce code fonctionne en présence de contenus (*) dans le répertoire à supprimer ?
(*) .txt; .docx;.mp4; .xlsx, .dpm......
Merci,
Mon code est le suivant :
--------------------------------------------------------------------------------------------
'Créer automatiquement le répertoire Numéro du Mode Si le champ est égal à "OUI"
Dim NomFic As String
Dim Rep As String
Dim Nom As String
If ComboBox31.Value = "OUI" Then
Application.DisplayAlerts = Falaise
Rep = Workbooks(ActiveWorkbook.Name).Path & "\Enreg\"
NomFic = ComboBox1.Value
Nom = Rep & NomFic
On Error Resume Next
MkDir Nom
Else
'Supprimer automatiquement le répertoire Numéro du Mode Si le champ est égal à "NON"
If ComboBox31.Value = "NON" Then
Rep = Workbooks(ActiveWorkbook.Name).Path & "\Enreg\"
NomFic = ComboBox1.Value
Nom = Rep & NomFic
On Error Resume Next
RmDir Nom
End If
End If
ApplicationScreenUpdating = True
------------------------------------------------------------------------------------------------------------
Merci

Jacques
 
bonjour
les fonctions vb standard (dir,remdir,mkdir) n'on pas de gestion sub extract
quand on delete un dossier avec rmdir il faut d'abords supprimer le contenu
ca devient donc galere si arborescence de plus d'un étage("dossier/sub dossier/subsub dossier")

donc une fois n'est pas coutume et bien malgré moi la seule solution pour le faire d'un coup est avec filesystemobject(FSO)
faire une recherche sur cet object des exemples il y en a à foison
 
A priori l'instruction " Application.DisplayAlerts " n'est pas concernée dans ce bug.
Présente ou pas la création et suppression d'un répertoire fonctionne.
Seule la suppression du répertoire avec du contenu n'est pas fonctionnelle (le répertoire ne peut être supprimé)
Jacques
 
bonjour
les fonctions vb standard (dir,remdir,mkdir) n'on pas de gestion sub extract
quand on delete un dossier avec rmdir il faut d'abords supprimer le contenu
ca devient donc galere si arborescence de plus d'un étage("dossier/sub dossier/subsub dossier")

donc une fois n'est pas coutume et bien malgré moi la seule solution pour le faire d'un coup est avec filesystemobject(FSO)
faire une recherche sur cet object des exemples il y en a à foison
Merci
 
Re

=>patricktoulon
C'est une solution
Pas la seule
(Si PC sous Windows)
commandes MSDOS par VBA
script PowerShell par VBA

Mais si j'étais moi, je me méfierai.
Je préfère toujours supprimer des fichiers manuellement que par macro ou script.
(surtout quand il s'agit de fichiers liés au boulot)
 
re
en déclaration tardive par de ref à activer
VB:
Sub DeleteFolder()
    Dim oFSOboule As Object, chemin$
    chemin = "C:\Users\polux\DeskTop\Nouveau dossier"
    Set oFSOboule = CreateObject("Scripting.FileSystemObject")    'Instanciation du FSO
    oFSOboule.GetFolder(chemin).Delete
End Sub
 
- 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

Réponses
8
Affichages
1 K
Retour