Suprimer une sauvegarde

bonjour a tous je viens vers vous , car je souhaite savoir si il est possible de supprimer un fichier de sauvegarde, pour libéré de l'espace pour la sauvegarde automatique.

avec une macro

"Sauvegarde-Base-" & Format(Now, "dd-mm-yy--hh-mm-ss") & ".xls"

voile le nom sous le quel est enregistrer le fichier .

merci d'avance de votre réponses.

cordialement .

Bonjour roms30

roms30 a écrit :

car je souhaite savoir si il est possible de supprimer un fichier de sauvegarde, pour libéré de l'espace pour la sauvegarde automatique. avec une macro

qu'entends tu par supprimer un fichier de sauvegarde et la sauvegarde automatique. avec une macro ?

Dans la théorie... oui c'est possible ! mais je ne comprends pas bien la portée, le sens de ta question !

As-tu un PJ à envoyer pour que je puisse voir de quoi tu veux parler exactement ?

merci de votre réponse , je vine de trouver une solution .

Sub place()
'fonction qui supprime les anciennes sauvegardes

Dim myFso, myFile, myFolder
Set myFso = CreateObject("Scripting.FileSystemObject")
'sélection du dossier à analyser
Set myFolder = myFso.GetFolder("F:\mon fichier")
'boucle sur tous les fichier du dossier
For Each myFile In myFolder.Files
'si la date de modification du fichier est antérieure à 3 jours, effacer le fichier
If DateDiff("d", myFile.DateLastModified, Now) > 4 Then myFile.Delete True
Next myFile
End Sub

en fait le fichier créer une sauvegarde automatique a chaque fermeture du fichier j'ai donc fait une macro qui supprime les fichiers de sauvegarde de supérieur a 3 jours


par contre j'ai une erreur sur le code suivant le msgbox ne fait que s'ouvrir et me bloque le classeur :

'a l'ouverture du classeur ouvre  le  fichier en mode  plein ecran et  masque les  barre  de  défilement
Private Sub Workbook_Open()
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayVerticalScrollBar = False
Application.DisplayFullScreen = True
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHorizontalScrollBar = False

'variable dates
Dim a As Date
Dim b As Date
Dim c As Date
'variable reponse msbox
Dim Rep As Integer

'Pour chaque date de la colonne B
For Each cellule In Range("J3:J250")
 a = Date - 3
 b = Date - 2
 c = Date - 1

'Si une date est inférieur ou égale à aujourd'hui -3 jours alors affiche le texte de la cellule correspondante en colonne A
If cellule.Value = a And cellule <> "" Then MsgBox "Des dates de retour sont arrivées à échéance, voulez vous envoyer les mails de notifications", vbExclamation + vbYesNo, "Alertes Dates de retour !!"

If cellule.Value = b And cellule <> "" Then MsgBox "Des dates de retour sont arrivées à échéance, voulez vous envoyer les mails de notifications", vbExclamation + vbYesNo, "Alertes Dates de retour !!"

If cellule.Value = c And cellule <> "" Then MsgBox "Des dates de retour sont arrivées à échéance, voulez vous envoyer les mails de notifications", vbExclamation + vbYesNo, "Alertes Dates de retour !!"

If cellule.Value = Date And cellule <> "" Then MsgBox "Des dates de retour sont arrivées à échéance, voulez vous envoyer les mails de notifications", vbExclamation + vbYesNo, "Alertes Dates de retour !!"

Rep = MsgBox("Des dates de retour sont arrivées à échéance, voulez vous envoyer les mails de notifications", vbExclamation + vbYesNo, "Alertes Dates de retour !!")
    If Rep = vbYes Then
    Call envoimail
    End If

 Next

End Sub

auriez vous une idée pour pallier au problème ?

merci d'avance bonne soirée

Bonjour roms30

Tant mieux pour ta question sauvegarde !

Par contre "moi" le code en vrac sur le forum je ne sais pas le lire - comprendre ce qui se passe c'est beaucoup plus facile !

As-tu un bout de fichier à nous joindre ?

mes excuse j'ai oublier voila le fihier code 20094917

je vous remercie de votre aide .

cordialement romain

8tets.xlsm (150.90 Ko)
8tets.xlsm (150.90 Ko)

Bonjour

Je regarde ça ce soir... et je reviens vers toi...

bonjour , c'est gentil merci beaucoup .

bonne fêtes de fin d'années a tous .

bonjour a tou s, je vous souhaite une bonne année .

un amis ma donner un code pour faire une procédure avec les jours ouvrés mais elle ne marche pas :

Function IsFerie(Date_testee As Date) As Boolean
    Dim JJ, AA, MM As Integer
    Dim NbOr, Epacte As Integer
    Dim PLune, Paques, Ascension, Pentecote As Date

    If Weekday(Date_testee, vbMonday) = 6 Or Weekday(Date_testee, vbMonday) = 7 Then IsFerie = True: Exit Function
    JJ = Day(Date_testee)
    MM = Month(Date_testee)
    AA = Year(Date_testee)
    If JJ = 1 And MM = 1 Then IsFerie = True: Exit Function '1 Janvier
    If JJ = 1 And MM = 5 Then IsFerie = True: Exit Function '1 Mai
    If JJ = 8 And MM = 5 Then IsFerie = True: Exit Function '8 Mai
    If JJ = 14 And MM = 7 Then IsFerie = True: Exit Function '14 Juillet
    If JJ = 15 And MM = 8 Then IsFerie = True: Exit Function '15 Août
    If JJ = 1 And MM = 11 Then IsFerie = True: Exit Function '1 Novembre
    If JJ = 11 And MM = 11 Then IsFerie = True: Exit Function '11 Novembre
    If JJ = 25 And MM = 12 Then IsFerie = True: Exit Function '25 Décembre
    NbOr = (AA Mod 19) + 1
    Epacte = (11 * NbOr - (3 + Int((2 + Int(AA / 100)) * 3 / 7))) Mod 30
    PLune = DateSerial(AA, 4, 19) - ((Epacte + 6) Mod 30)
    If Epacte = 24 Then PLune = PLune - 1
    If Epacte = 25 And (AA >= 1900 And AA < 2000) Then PLune = PLune - 1
    Paques = PLune - Weekday(PLune) + vbMonday + 7 'Paques
    If JJ = Day(Paques) And MM = Month(Paques) Then IsFerie = True: Exit Function
    Ascension = Paques + 38 'Ascension
    If JJ = Day(Ascension) And MM = Month(Ascension) Then IsFerie = True: Exit Function
    Pentecote = Ascension + 11 'Pentecote
    If JJ = Day(Pentecote) And MM = Month(Pentecote) Then IsFerie = True: Exit Function
    IsFerie = False
End Function

suivi de ce code :

Function JPlusNbJour(Date_testee As Date, NbJour As Integer)
Dim DateCalc As Date, SamDim As Integer
DateCalc = DateAdd("d", NbJour, Date_testee) 'Voir si sous 97 il ne faut remplacer d par j
If IsFerie(DateCalc) = True Then
    While IsFerie(DateCalc) = True
        DateCalc = DateAdd("d", 1, DateCalc) 'Voir si sous 97 il ne faut remplacer d par j

    Wend
    JPlusNbJour = DateCalc
Else
    JPlusNbJour = DateCalc
End If
End Function

et voila le code de mon textbox :

Private Sub UserForm_Initialize()

 Dim DateJ10 As Date
 Dim vDate As Date
  vDate = Date
 [DateJ10] = JPlusNbJour([vDate], 10)

TextBox1.Value = Format(DateJ10, "dd/mm/yyyy") 'mmmm pour le mois en lettre

End Sub

merci d'avance de votre aide.

cordialement romain

Rechercher des sujets similaires à "suprimer sauvegarde"