Suppresion d'un fichier contenant une date [Résolu]

Signaler
Messages postés
15
Date d'inscription
vendredi 2 juin 2006
Statut
Membre
Dernière intervention
2 décembre 2006
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour, voila je travail sur une application sur Excel, et j'ai un problème.

Voilà mon problème moi j'aimerai bien qu'a chaque fois que j'enregistre mon fichier il me supprime le fichier d'il y a deux jours (aujourd'hui on est le 28/06/06) et j'aimerai donc supprimer le fichier qui porte le nom de l'application avec la date du 26/06/06 mais il faut que le 29 sa supprime le 27 et ainsi de suite.

Pour ce faire il faudrait définir mon "datesup" mais j'arrive pas a lui faire comprendre que se soit la date d'aujourd'hui moin 2 jours. Je vous fournis le code que j'ai déjà fait : 

Sub EnregistrementDocument()
'
EnregistrementDocument Macro
'
Macro enregistrée le 23/06/2006

Dim strDate As Sting

Count = Len(ActiveWorkbook.Name)
Name = Left(ActiveWorkbook.Name,Count - 4)

strDate = Format(Dte,"dd-mm-yy")

datesup = "26-06-06"

ThisWorkbook.SaveCopyAs Filename:="C:\Program Files\Programme\Sauvegarde"&Name& " " & strDate& ".xls"

MsgBox ("L'enregistrement c'est bien effectué")

'Supprimer les dernieres sauvegarde

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile ("C:\Program Files\Programme\Sauvegarde"&Name&" "&datesup&".xls")

End Sub

6 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
Et ben dis donc j'arrête pas les erreurs...

Ce n est pas

While Not fso.FileExists("C:\Program Files\Programme\Sauvegarde" & Name & " " & DateSup & ".xls") 

Mais bien

While fso.FileExists("C:\Program Files\Programme\Sauvegarde" & Name & " " & DateSup & ".xls") 

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Mais Surtout: Règlement/FONT>
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
26
Salut,

la même chose que StrDate en faisant  -2

en supposant que Dte est en format Date


    datesup = Format$(Dte - 2, "dd-mm-yy")

Daniel
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
SAlut,

Un peu de recherche t'aurais permis de trouver la solution seul.

StrDate = Format(Date, "dd-mm-yy")
DateSup = Format(StrDate - 2, "dd-mm-yy")
MsgBox DateSup

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Mais Surtout: Règlement/FONT>
Messages postés
15
Date d'inscription
vendredi 2 juin 2006
Statut
Membre
Dernière intervention
2 décembre 2006

Merci pour vos réponse, ceci fonctionne :

StrDate = Format(Date, "dd-mm-yy")
DateSup = Format(Date - 2, "dd-mm-yy")

Mais finalement j'aurais besoin que la macro supprime tout les document qui sont inferieur a -2 jours.c'est à 26/06/06, 25/06/06, 24, 23, 22 ... Merci
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
Et bien il faut faire une petite boucle:

While Not fso.FileExists("C:\Program Files\Programme\Sauvegarde" & Name & " " & DateSup & ".xls") 
    Call fso.DeleteFile("C:\Program Files\Programme\Sauvegarde" & Name & " " & DateSup & ".xls") 
    DateSup = Format(CDate(DateSup) - 1, "dd-mm-yy") 
Wend 
 

<small> Coloration syntaxique automatique [AFCK]</small>
       

CF: Ma signature.....

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Mais Surtout: Règlement/FONT>
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
Oups: remplacer fso par objFSO

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Mais Surtout: Règlement/FONT>