[RESOLU] VBA - Suppression d'un dossier créé par la macro

NeMoS

XLDnaute Junior
Bonjour le Forum, bonjour à tous,

Voilà, j'ai une macro qui crée un repertoire sous c:\, y copie un certain nombre de fichier et traite ces fichiers.

Je souhaiterai à la fin de l'exécution de la macro, une fois que tous les fichiers on été traités (puis refermés) supprimer ce repertoire.

Si je le fais manuellement, je peux supprimer ce répertoire sans problème, en revanche, si je le fais par macro il me dit que je n'ai pas accès à ce répertoire pour sa suppression.

Je suppose que pour la macro, ce répertoire est "en cours d'utilisation", mais je ne sais pas comment passer outre.

Ci-joint un extract de la macro ( en espérant que cela suffise à illustrer mon propos)
L'exécution bloque au RmDIr...

Code:
MkDir "C:\SkillMgmtTemp\"
chemin1 = "C:\SkillMgmtTemp\"

ChDir chemin1
monfichier = Dir(chemin1 & "\" & "*.xls")

While monfichier <> ""
Set wb = Workbooks.Open(chemin1 & "\" & monfichier)
monfichier = Dir()

' ici la macro qui traite les fichiers

Application.CutCopyMode = False
'on ferme tous les fichiers sauf le global sans sauvegarder aucune modification
wb.Close SaveChanges:=False
Set wb = Nothing
 'on efface le repertoire temporaire créer sous C

Wend
'chdir chemin1 & "\"
'RmDir chemin1 & "\"

' .....

End Sub

Je vous remercie pour votre aide

NeMoS
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : VBA - Suppression d'un dossier créé par la macro

Bonjour NeMoS

Il me semble que tu ne peux pas supprimer un répertoire avec rmdir si ils contient des fichiers. Il faut les supprimer avant (avec kill par exmple). Sinon il existait il y a longtemps une fonctionDOS Prune mais qui n'était pas de Microsoft qui permettait de supprimer tout un dossier avec les fichiers.
 

sousou

XLDnaute Barbatruc
Re : VBA - Suppression d'un dossier créé par la macro

Bonjour nemos

As-tu essayé avec l'objet filesystem?
Cet objet donne accès à tout le systeme de fichier windows.....
Set fso = CreateObject("scripting.filesystemobject")
...
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - Suppression d'un dossier créé par la macro

Bonjour à tous,

petite remarque au passage, il me semble que le dossier en question ne doit pas être le répertoire courant, car celui-ci sera considéré comme étant utilisé par un programme et de ce fait la suppréssion échouera...

bonne journée
@+
 

NeMoS

XLDnaute Junior
Re : [RESOLU] VBA - Suppression d'un dossier créé par la macro

Bonjour MJ13, Pierrot93 et sousou

Merci pour vos réponses.

J'ai suivi le conseil de MJ13 et supprimer le contenu du dossier avant de le supprimer lui-même (le dossier)...et cela fonctionne parfaitement bien.

Merci beaucoup !!

Pierrot
C'est également ce que je pense...mais en me plaçant au bon endroit dans la macro, je me defais de cette contrainte

sousou,
Oui, j'y avais pensé et j'ai essayé sans succès, j'avais systématiquement un "path not found" que je n'arrivais pas à comprendre. Je pense que ma synthaxe devait être mauvaise !! Je suis donc passé par une méthode un peu moins "propre" qui revient à effacer le contenu du dossier puis faire un rmdir sur le dossier....pas très beau mais ça marche...

Merci à tous pour votre aide


NeMoS
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 286
Messages
2 086 796
Membres
103 392
dernier inscrit
doc_banane