bonsoir à toutes et à tous,
je fais des sauvegardes de certains fichiers tous les jours, mais je ne veux garder que les sauvegardes des 5 derniers jours.
j'ai trouvé ce bout de code sur le wiki, mais je butte sur la fin du code qui teste la date de création et la date du jour - 5.
en fait il efface tout et je pense que cela vient du format de date dans mes variable date_jour et resultat_date.
pouvez-vous m'aider ?
merci
Sub supp_fichier()
'source:
'http://www.microsoft.com/resources/documentation/windows/2000/server/
'scriptguide/en-us/sas_fil_lunl.mspx
'
'Nécessite d'activer la référence Microsoft Shell Controls and Automation
'
Dim objShell As Shell32.Shell
Dim strFileName As Shell32.FolderItem
Dim objFolder As Shell32.Folder
Dim Resultat As String, Reponse As String
Dim i As Byte
date_jour = Format(Date - 5, "dd-mm-yy")
Set Supp = CreateObject("Scripting.fileSystemObject")
Set objShell = CreateObject("Shell.Application")
'Répertoire cible
Set objFolder = objShell.nameSpace("F:\excel\")
'boucle sur tous les elements du repertoire
For Each strFileName In objFolder.Items
'récupération du nom du fichier
resultat_nom = objFolder.getDetailsOf(strFileName, 0)
'récupération de la date de création
resultat_date = Format(objFolder.getDetailsOf(strFileName, 4), "dd-mm-yy")
If resultat_date < date_jour Then
Supp.DeleteFile "F:\excel\" & resultat_nom & ".xls"
Else
MsgBox "nok"
End If
Next
End Sub
je fais des sauvegardes de certains fichiers tous les jours, mais je ne veux garder que les sauvegardes des 5 derniers jours.
j'ai trouvé ce bout de code sur le wiki, mais je butte sur la fin du code qui teste la date de création et la date du jour - 5.
en fait il efface tout et je pense que cela vient du format de date dans mes variable date_jour et resultat_date.
pouvez-vous m'aider ?
merci
Sub supp_fichier()
'source:
'http://www.microsoft.com/resources/documentation/windows/2000/server/
'scriptguide/en-us/sas_fil_lunl.mspx
'
'Nécessite d'activer la référence Microsoft Shell Controls and Automation
'
Dim objShell As Shell32.Shell
Dim strFileName As Shell32.FolderItem
Dim objFolder As Shell32.Folder
Dim Resultat As String, Reponse As String
Dim i As Byte
date_jour = Format(Date - 5, "dd-mm-yy")
Set Supp = CreateObject("Scripting.fileSystemObject")
Set objShell = CreateObject("Shell.Application")
'Répertoire cible
Set objFolder = objShell.nameSpace("F:\excel\")
'boucle sur tous les elements du repertoire
For Each strFileName In objFolder.Items
'récupération du nom du fichier
resultat_nom = objFolder.getDetailsOf(strFileName, 0)
'récupération de la date de création
resultat_date = Format(objFolder.getDetailsOf(strFileName, 4), "dd-mm-yy")
If resultat_date < date_jour Then
Supp.DeleteFile "F:\excel\" & resultat_nom & ".xls"
Else
MsgBox "nok"
End If
Next
End Sub