Supprimer le contenu d'un dossier avec une macro

la mouette

XLDnaute Nouveau
Bonjour, :)

je cherche à supprimer le contenu d'un dossier par l'intermediaire d'une macro.

J'ai tésté la fonction "kill" avec le chemin vers le dossier mais ça n'as pas l'air de fonctionner.

Help me please :D.
 

la mouette

XLDnaute Nouveau
Re : Supprimer le contenu d'un dossier avec une macro

Oui c'est ça, juste le contenu.

Par exemple j'ai un dossier "toto" sur mon bureau, je voudrais pouvoir supprimer tt les fichiers excel qui se trouvent dedans via la macro sans supprimer "toto".
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Supprimer le contenu d'un dossier avec une macro

pour supprimer le contenu :

Code:
Sub SupprContenu()
Dim Fic As String
    Fic = Dir("C:\essai\*.xls")
    Do While Fic <> ""
        Kill "C:\essai\" & Fic
        Fic = Dir
    Loop
End Sub

pour supprimer le dossier et tout son contenu (sous-dossiers compris) :

Code:
Sub SupprDoss()
Dim FS
    Set FS = CreateObject("Scripting.FileSystemObject")
    FS.Deletefolder "C:\essai"
End Sub
 

STephane

XLDnaute Occasionnel
Re : Supprimer le contenu d'un dossier avec une macro

oui, c'est vrai.
on peut alors combiner l'usage de kill & rmdir.

kill supprime les fichiers sans passer par la corbeille.
je n'ai pas vérifié ce que faisait rmdir.

c'est dommage par contre que la méthode VBA "rmdir" n'accepte pas le passage de paramètres, car rmdir /S efface le contenu du répertoire en même temps
 

lion_of_ethiopia

XLDnaute Nouveau
Re : Supprimer le contenu d'un dossier avec une macro

Bonjour a tous et a toutes je souhaite en effet supprimer des fichiers excels contenu dans un dossier:

pour supprimer le contenu :

Code:
Sub SupprContenu()
Dim Fic As String
    Fic = Dir("C:\essai\*.xls")
    Do While Fic <> ""
        Kill "C:\essai\" & Fic
        Fic = Dir
    Loop
End Sub

La différence dans cette procedure c'est que je souhaite supprimer non pas tout le contenu mais uniquement certain nombre de fichier en fonction de leur date. Par exemple si je veux supprimer des fichiers sauvegardé il ya a peu près 2 ou 3 jours comment le faire?:confused:

Voici une partie du code que j'ai pu faire:
Private Sub Workbook_Open()
Dim Chemin As String
Dim fichierTexte As String
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"

NomFic = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".txt"
If Dir(Chemin & NomFic) = "" Then 'si le fichier de la date du jour n'existe pas

Call auto_open ' on lance l'effacement

Set fs = CreateObject("Scripting.FileSystemObject") 'on crée le fichier date du jour
Set a = fs.CreateTextFile(Chemin & NomFic, True)
a.Close

Call creation 'on appelle l'autre proc

End If ' Il n'y a pas de sinon puisque si le fichier existe on ne fait rien

Call creation 'on appelle l'autre proc

End Sub

Merci pour l'aide a toutes les bonnes volontés.
 

mromain

XLDnaute Barbatruc
Re : Supprimer le contenu d'un dossier avec une macro

bonjour le fil,

lion of ethopia: je ne pense pas que ce soit la bonne solution d'aller chercher de l'aide sur d'autres fils, ça aurait été aussi bien que tu remonte ce fil pour nous montrer comment a évolué ton PB depuis l'autre jour.

en attendant, voici une macro (à adapter) qui j'espère t'aidera :
Code:
[COLOR="Blue"]Sub[/COLOR] test()
[COLOR="Blue"]Dim[/COLOR] myFso, myFile, myFolder
[COLOR="Blue"]Set[/COLOR] myFso = CreateObject("Scripting.FileSystemObject")
[COLOR="Green"]'sélection du dossier à analyser[/COLOR]
[COLOR="Blue"]Set[/COLOR] myFolder = myFso.GetFolder("C:\temp\")
[COLOR="Green"]'boucle sur tous les fichier du dossier[/COLOR]
[COLOR="Blue"]For Each[/COLOR] myFile In myFolder.Files
    [COLOR="Green"]'si la date de modification du fichier est antérieure à 3 jours, effacer le fichier[/COLOR]
    If DateDiff("d", myFile.DateLastModified, Now) > 3 Then myFile.Delete True
[COLOR="Blue"]Next[/COLOR] myFile
[COLOR="Blue"]End Sub[/COLOR]

a+
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Supprimer le contenu d'un dossier avec une macro

Bonjour,

Les dates sont à récupérer dans les noms des fichiers ou bien il s'agit des dates systeme de leur enregistrement sur le disque ?

Edit : mRomain a répondu
 
Dernière édition:

Discussions similaires

Réponses
26
Affichages
361

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67