Supprimer fichiers de plus de 3 mois

Yaloo

XLDnaute Barbatruc
Bonjour,

Je reçois un fichier tous les mois, je fais mes modifs dans ce fichier et je l'enregistre sous un autre nom (par macro).

A la longue, le répertoire est plein de vieux fichiers (dont je n'ai plus besoin).

Je ne souhaite garder que les fichiers de moins de 3 mois, comment puis-je supprimer (avec la macro dont je me sert pour enregistrer) les fichiers de plus de 3 mois, se trouvant dans mon répertoire. Avec une instruction de type Kill

Cette macro est dans mon fichier perso.xls

Merci de vos réponses
 

YANN-56

XLDnaute Barbatruc
Re : Supprimer fichiers de plus de 3 mois

Bonsoir Yaloo, et à ceux qui passerons par ici,

Je réitère ce que je me suis toujours appliqué à dire:

"Kill" comme "Delete" sont des fonctions très dangereuses.
(Un "\" ou "/" mal placés, sinon erreur de syntaxe peuvent amener de mauvaises surprises)

Bien que je me sois fait remonter les bretelles ici en le disant.
Par qui? Je ne dirai pas... Mais je le maintiens!

Il me semble plus souhaitable et aussi rapide de classer manuellement
les fichiers de ton répertoire par date de dernières mises à jour.
de faire ton choix via ce que tu verras en promenant la souris; puis de les balancer.

Au pire par VBA, c'est possible bien entendu en faisant un tri par dates,
après avoir dressé la liste de tes fichiers....
La listView serait un outil approprié pour cela.
(Moins violent que la suppression directe)

A toi de voir.

Amicalement.

Yann
 

Yaloo

XLDnaute Barbatruc
Re : Supprimer fichiers de plus de 3 mois

Bonsoir Yaloo, et à ceux qui passerons par ici,

Je réitère ce que je me suis toujours appliqué à dire:

"Kill" comme "Delete" sont des fonctions très dangereuses.
(Un "\" ou "/" mal placés, sinon erreur de syntaxe peuvent amener de mauvaises surprises)

Au pire par VBA, c'est possible bien entendu en faisant un tri par dates,
après avoir dressé la liste de tes fichiers....
La listView serait un outil approprié pour cela.
(Moins violent que la suppression directe)

Yann

J'ai bien compris que cela pouvait être irréversible.
Mais tu ne me dis pas comment faire ? Si je le fait, c'est mon choix, je ne t'en tiendrais pas rigueur si ça plante.
Je ne connais pas le listview, peux tu m'en dire plus ?

Cordialement
Yaloo
 
C

Compte Supprimé 979

Guest
Re : Supprimer fichiers de plus de 3 mois

Salut Yaloo, YANN-56 ;)

VB:
Sub Test()
  Call DelFilesInFolder("D:\DossierTest\", False)
End Sub
Sub DelFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean)
' [I]Ce lien n'existe plus[/I]
Dim FSO As Object
Dim SourceFolder As Object, SubFolder As Object
Dim FileItem 'As Scripting.File
Dim VDate As Date
  ' Date Minimum = aujourdhui - 3 mois
  VDate = Now() - (3 * 30.42)
  ' Utilise le FSO
  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set SourceFolder = FSO.GetFolder(SourceFolderName)
    ' Pour Chaque fichier du dossier
    For Each FileItem In SourceFolder.Files
      ' Vérifier si la date de création est inférieure à la date minimum souhaitée
      If FileItem.DateCreated < VDate Then
        ' Si oui, on supprime le fichier - ATTENTION ! IRREVERSIBLE
        Kill FileItem
      End If
    Next FileItem
    ' Faire les sous-dossier
    If IncludeSubfolders Then
      For Each SubFolder In SourceFolder.SubFolders
        DelFilesInFolder SubFolder.Path, True
      Next SubFolder
    End If
  ' Effacer les variables objet
  Set FileItem = Nothing
  Set SourceFolder = Nothing
  Set FSO = Nothing
End Sub

Attention ce code n'engage que celui qui l'utilise :cool:

A+
 

Staple1600

XLDnaute Barbatruc
Re : Supprimer fichiers de plus de 3 mois

Bonjour à tous


Pour rassurer YANN-56

On peut adapter le code de BrunoM45 avec MoveFile
(et donc déplacer les fichiers de plus de trois mois vers un dossier spécifique
qu'ensuite on supprimera sans crainte avec un rmdir par exemple)
(voir Ce lien n'existe plus pour les détails)

Voir aussi la réponse de mromain dans ce fil (qui utilise DateDiff avec FSO)
Lien supprimé
(il suffit d'adapter la syntaxe de DateDiff pour > 3 mois )
 
C

Compte Supprimé 979

Guest
Re : Supprimer fichiers de plus de 3 mois

Salut Yaloo,

Ca fonctionne très bien.
Juste un copier/coller modification du répertoire et c'est OK
Tant mieux, au plaisir ;)

Salut Staple1600,
Bon sang de bonsoir ... je pense jamais à la fonction DateDiff :rolleyes:
Ce n'est pas possible, il faut que je me la colle sur un Post-it sur mon écran :D
Merci

A+
 

YANN-56

XLDnaute Barbatruc
Re : Supprimer fichiers de plus de 3 mois

Bonsoir à ceux qui passeront par ici,

Yaloo; heureux que tu aies trouvé chaussure à ton pied,
comme il n'est jamais à en douter sur XLD.

Bruno, Staple, ;) ;)

J'ai tenté de trouver une solution pour passer par la "Corbeille"
Elle est issue d'une de mes bidouilles de voici bien longtemps.

J'écrivais le chemin des Fichiers sur une feuille, et cela fonctionnait bien.

Je fais appel à vous car je suis persuadé de ne pas être loin de la solution,
sans passer par cette écriture... Comme le montre l'exemple ci-joint.

Sauf que j'ai un plantage immédiat après mise à la corbeille du premier
Fichier concerné!!!

Je ne parviens pas à comprendre pourquoi.

Si vous pouviez m'aider, je vous serais bien reconnaissant.
(D'autant que cela pourrait servir à autres XLDNautes)

Amicalement.

Yann
 

Pièces jointes

  • ELIMINER.xls
    27.5 KB · Affichages: 81

YANN-56

XLDnaute Barbatruc
Re : Supprimer fichiers de plus de 3 mois

Bonjour à ceux qui passeront par ici,

Merci Staple pour ton lien (Bonne adresse!)

Je vais reconstruire mon truc en passant à nouveau par une feuille,
puisque cela marchait bien initialement avec cette façon de faire.

La convivialité, et les ajouts de choix par le biais d'une ListView...
Je verrai à l'adapter par la suite.
(Comme au passage, nettoyer le code de ses écritures inutiles)

P.S. T'as cassé quoi pour devoir attendre le Père Noël ??? :)

Amicalement.

Yann
 

YANN-56

XLDnaute Barbatruc
Re : Supprimer fichiers de plus de 3 mois

Re Staple, et à ceux qui passeront par là.
(Vingt Dieux! Combien d'heures à ramer avec ces nouvelles version d'Excel!!!) :(

Au cas où quelqu'un soit intéressé par la solution de passer par la corbeille,
au lieu de "Kill" ou "Delete" je joins ces deux bidouilles.

Le Classeur "RANGER" permet de peaufiner son choix
en cochant ou décochant les Fichiers à mettre à la corbeille.

Le Classeur "ELIMINER(1) ne demande que la date limite des Fichiers.

Attention le Format des TextBoxes doit être:
Ex.: pour le premier juillet de cette année:
01 07 2010 ....... Je n'ai pas géré ce poste!

De la même façon il resterait éventuellement à supprimer
la demande de confirmation de Bill...

Merci au fil de m'avoir amené à retrouver, enfin, une de mes applis bien utile
qui me servait à éliminer les doublons de mes multiples sauvegardes.
(Il existe des outils tout fait, mais à ma connaissance, sans l'option "Corbeille")

Comme je suis un grand trouillard... Je préfère!

Amicalement.

Yann
 

Pièces jointes

  • VIA_CORBEILLE.zip
    31.8 KB · Affichages: 57

YANN-56

XLDnaute Barbatruc
Re : Supprimer fichiers de plus de 3 mois

Bon! A priori, et à fortiori...Ce n'est pas mon soir! :(

Cela n'intéresse que moi, semble-t-il! "0" Téléchargement.

S'il y a une erreur, je finirai bien par avoir un "Bug" qui me le dira.

De toute façon, ces codes ne viennent que de l'aide reçue ici... N'est-il pas?

Cré nom de d'là! J'aurais quand-même aimé damer le pion aux adeptes du "Kill"

Tant pis! La touche d'humour sera encore là demain. (Et peut-être une baffe pour ma pomme) :)

Amicalement.

Yann

P.S. J'aurais quand-même bien aimé aussi que l'on ait testé.
(Je suis en 2003, et il se peut un plantage en 2007 ou 2010)
 

YANN-56

XLDnaute Barbatruc
Re : Supprimer fichiers de plus de 3 mois

Bonsoir cher ami de si bons conseils; comme il en a toujours été. (Même en hiver)

N'ayant pas autres versions postérieures à 2003; je ne peux pas tester.

Il serait bien en effet que je m'en inquiète.
Mais je n'ai pour revenu que ma maigre retraite,

Je peux encore grâce à Dieu gaspiller mon temps,
quant aux sous qu'il me reste; n'en dirait pas tant.

C'est donc pourquoi je reste attentif à une bonne âme
qui voudra bien prendre la peine de me dire si cela fonctionne chez lui.

Dans le cas contraire, j'irai réviser ma méthode.
(Sinon la fiche à la corbeille... :))

Merci de m'avoir donné signe.
Il est confortable et agréable de ne pas se sentir seul.

Amicalement.

Yann

P.S. Je n'ai pas compris ton "De 0 à 1)
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 719
Membres
110 551
dernier inscrit
Khyolyanna