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 .
- Messages
- 1'119
- Excel
- 2013 FR
- Inscrit
- 18/09/2015
- Emploi
- Développeur Bureautique Indépendant (Excel)
Bonjour roms30
qu'entends tu par supprimer un fichier de sauvegarde et la sauvegarde automatique. avec une macro ?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
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 Suben 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 Subauriez vous une idée pour pallier au problème ?
merci d'avance bonne soirée
- Messages
- 1'119
- Excel
- 2013 FR
- Inscrit
- 18/09/2015
- Emploi
- Développeur Bureautique Indépendant (Excel)
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 ?
- Messages
- 1'119
- Excel
- 2013 FR
- Inscrit
- 18/09/2015
- Emploi
- Développeur Bureautique Indépendant (Excel)
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 Functionsuivi 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 Functionet 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 Submerci d'avance de votre aide.
cordialement romain