Supprimer les anciens fichier
jack2125
Messages postés
457
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
bonjour a tous
cette fonction me permet de sauvegarder à plusieurs endroits mes fichiers
Par contre les sauvegardes m'accumule les fichiers
Que me manque t il pour supprimer à chaque sauvegarde pour suprimer le fichier enregistré -1
merci beaucoup a vous
Sub Sauvegarde()
Application.DisplayAlerts = False
If Len(Dir("C:\Users\jacques\Documents\jeux loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="C:\Users\jacques\Documents\jeux loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("g:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="G:\loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("E:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="E:\loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("F:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="F:\loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
ActiveWorkbook.SaveAs Filename:="C:\Users\jacques\onedrive\loto\jeux loto\ " & ActiveWorkbook.Name, CreateBackup:=False
End Sub
cette fonction me permet de sauvegarder à plusieurs endroits mes fichiers
Par contre les sauvegardes m'accumule les fichiers
Que me manque t il pour supprimer à chaque sauvegarde pour suprimer le fichier enregistré -1
merci beaucoup a vous
Sub Sauvegarde()
Application.DisplayAlerts = False
If Len(Dir("C:\Users\jacques\Documents\jeux loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="C:\Users\jacques\Documents\jeux loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("g:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="G:\loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("E:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="E:\loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("F:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="F:\loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
ActiveWorkbook.SaveAs Filename:="C:\Users\jacques\onedrive\loto\jeux loto\ " & ActiveWorkbook.Name, CreateBackup:=False
End Sub
A voir également:
- Supprimer les anciens fichier
- Supprimer rond bleu whatsapp - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier impossible à supprimer - Guide
- Fichier rar - Guide
9 réponses
Bonjour
Tout d’abord afin de faciliter la lecteur au membre qui pourrait t’aider merci de lire et appliquer ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, je ne suis pas féru de VBA, je vais laisser ceux qui savent mieux répondre techniquement.
Cependant sur le principe, supposons que je sauvegarde à 10h00, il y a un fichier de 9h50, il est supprimé. Si dans le fichier de 10h00 j’ai fait une erreur je n’ai plus la possibilité de restaurer les bonnes valeurs puisque je n’ai plus le fichier de 9h50.
Une bonne sauvegarde est incrémentielle, c’est à dire qu’on conserve les différentes étapes afin de pouvoir revenir en arrière. Ce que fait ta fonction pour l’instant.
Malheureusement Microsoft n’as pas jugé pertinent de faire en sorte qu’Office le fasse nativement. Sur la suite bureautique Mac, par exemple, à chaque enregistrement, en fait on enregistre les différences entre le dernier enregistrement et « maintenant »:
Une option pour toi serait d’utiliser un outil tel que GIT, qui sauvegarde les changements dans les fichiers textes. Un xlxs est en fait une archive zip qui regroupe pleins de fichiers textes.
Tout d’abord afin de faciliter la lecteur au membre qui pourrait t’aider merci de lire et appliquer ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, je ne suis pas féru de VBA, je vais laisser ceux qui savent mieux répondre techniquement.
Cependant sur le principe, supposons que je sauvegarde à 10h00, il y a un fichier de 9h50, il est supprimé. Si dans le fichier de 10h00 j’ai fait une erreur je n’ai plus la possibilité de restaurer les bonnes valeurs puisque je n’ai plus le fichier de 9h50.
Une bonne sauvegarde est incrémentielle, c’est à dire qu’on conserve les différentes étapes afin de pouvoir revenir en arrière. Ce que fait ta fonction pour l’instant.
Malheureusement Microsoft n’as pas jugé pertinent de faire en sorte qu’Office le fasse nativement. Sur la suite bureautique Mac, par exemple, à chaque enregistrement, en fait on enregistre les différences entre le dernier enregistrement et « maintenant »:
- ça ne prend pas trop de place,
- on a un seul fichier
- l’interface permet de naviguer facilement dans l’historique de changement pour en annuler un
Une option pour toi serait d’utiliser un outil tel que GIT, qui sauvegarde les changements dans les fichiers textes. Un xlxs est en fait une archive zip qui regroupe pleins de fichiers textes.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, le nom de ton fichier change-t'il à chaque fois?
bonjour
non le nom est identique seule l'heure change et le fichier se décale d'une "case"
il n'est pas aligné sur le précédent
non le nom est identique seule l'heure change et le fichier se décale d'une "case"
il n'est pas aligné sur le précédent
oui dans les mêmes dossiers (a 4 emplacements) fichiers très importants
1 ans d'écritures!
1 ans d'écritures!
le fichier sauvé un jour a-t'il le même nom que le fichier sauvé la veille?
pour pouvoir supprimer à chaque sauvegarde le fichier enregistré -1, il faut pouvoir déterminer duquel il s'agit, non?
ou bien veux-tu tout supprimer, sauf le nouveau fichier?
peux-tu donner des informations supplémentaires?
pour pouvoir supprimer à chaque sauvegarde le fichier enregistré -1, il faut pouvoir déterminer duquel il s'agit, non?
ou bien veux-tu tout supprimer, sauf le nouveau fichier?
peux-tu donner des informations supplémentaires?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je veux supprimer tous les fichiers qui portent le nom du fichier a sauvegarder sauf celui que je sauve en instant 't'
je conserve que le dernier que j'enregistre
c'est a dire qu'avant de sauvegarde le fichier il faut faire un "DEL" auparavant
c'est a dire qu'avant de sauvegarde le fichier il faut faire un "DEL" auparavant
Bonjour,
Voici comment je limite, dans un répertoire, à 20 les dernières sauvegardes quotidiennes d'un même fichier.
Code des fonctions :
Code d'appel :
Voici comment je limite, dans un répertoire, à 20 les dernières sauvegardes quotidiennes d'un même fichier.
Code des fonctions :
Const REPERTOIRE_SAVE As String = "C:/TEST/" Const NB_SAVE As Integer = 20 Const NOM_FICHIER_SAVE As String = "MonNom" Public Sub Limiter() Dim i As Long, s As String i = CountFiles(REPERTOIRE_SAVE, "xlsm", s) If i > NB_SAVE Then If s <> vbNullString Then Kill s Else MsgBox "Erreur, veuillez vérifier votre répertoire" End If End If End Sub Public Function CountFiles(Rep As String, Extens As String, PlusVieux As String) As Long Dim count As Long, Fichier As String, D As Date, sReturn As String If Dir(Rep & "*." & Extens) <> vbNullString Then Fichier = Dir(Rep & "*." & Extens) D = FileDateTime(Rep & Fichier): PlusVieux = Rep & Fichier Do Until Fichier = "" count = count + 1 Fichier = Dir If Fichier <> "" Then If D > FileDateTime(Rep & Fichier) Then D = FileDateTime(Rep & Fichier): PlusVieux = Rep & Fichier End If Loop End If CountFiles = count End Function
Code d'appel :
If Dir(REPERTOIRE_SAVE & Format(Date, "yyyy mm dd") & " " & NOM_FICHIER_SAVE) = "" Then ThisWorkbook.SaveCopyAs REPERTOIRE_SAVE & Format(Date, "yyyy mm dd") & " " & NOM_FICHIER_SAVE Call Limiter End If
franck bonjour
déjà merci pour ta réponse, mais en VBA je suis très moyen
aujourd'hui j'utilise ces codes:
Sub Sauvegarde()
Application.DisplayAlerts = False
If Len(Dir("C:\Users\jacques\Documents\jeux Beta", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="C:\Users\jacques\Documents\jeux Beta\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("g:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="G:\Beta\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("E:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="E:\loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("F:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="F:\Beta\" & ActiveWorkbook.Name, CreateBackup:=False
End If
ActiveWorkbook.SaveAs Filename:="C:\Users\jacques\onedrive\Beta\jeux Beta\ " & ActiveWorkbook.Name, CreateBackup:=False
End Sub
As tu la possibilité de m'intégrer la possibilité de sauvegarder le jour JJ MM et l'heure HH MM et que je ne garde en sauvegarde que le dernier fichier et celui du dernier de la veille JJ -1
merci si tu peux
cordialement
jacques
déjà merci pour ta réponse, mais en VBA je suis très moyen
aujourd'hui j'utilise ces codes:
Sub Sauvegarde()
Application.DisplayAlerts = False
If Len(Dir("C:\Users\jacques\Documents\jeux Beta", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="C:\Users\jacques\Documents\jeux Beta\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("g:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="G:\Beta\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("E:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="E:\loto\" & ActiveWorkbook.Name, CreateBackup:=False
End If
If Len(Dir("F:\loto", vbDirectory)) > 0 Then
ActiveWorkbook.SaveAs Filename:="F:\Beta\" & ActiveWorkbook.Name, CreateBackup:=False
End If
ActiveWorkbook.SaveAs Filename:="C:\Users\jacques\onedrive\Beta\jeux Beta\ " & ActiveWorkbook.Name, CreateBackup:=False
End Sub
As tu la possibilité de m'intégrer la possibilité de sauvegarder le jour JJ MM et l'heure HH MM et que je ne garde en sauvegarde que le dernier fichier et celui du dernier de la veille JJ -1
merci si tu peux
cordialement
jacques
Bonjour, dès ma première réponse je t’ai indiqué un lien vers le tuto sur les balises de code.
Franck (que je salue au passage) a fait l’effort de s’en servir pour te rendre la lecture de son code aisée. La moindre des choses que tu pourrais faire pour lui est d’en faire autant.
Il te reste un peu plus de 50 minutes pour modifier ton message
Franck (que je salue au passage) a fait l’effort de s’en servir pour te rendre la lecture de son code aisée. La moindre des choses que tu pourrais faire pour lui est d’en faire autant.
Il te reste un peu plus de 50 minutes pour modifier ton message
désolé mais je ne comprends rien de ce que tu me racontes
merci de ces infos sans avancées pour moi..
bonne fin d'am
merci de ces infos sans avancées pour moi..
bonne fin d'am
merci de lire et d'appliquer ceci quand tu postes du code:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
cela nous encouragera et nous aidera à t'aider.
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
cela nous encouragera et nous aidera à t'aider.
Dans cet exemple, je n'ai pas dézippé le fichier xlxs, je le sauvegarde donc entier à chaque étape.
Je me sers de SourceTree qui est une interface fenêtrée gratuite pour GIT (qui est en ligne de commande)
Etape 1: il y a un nouveau fichier dans le repertoire
Entre l'étape 1 et l'étape 2, j'ai indéxé le fichier excel, mis un commentaire et validé, j'ai ensuite ignoré le suivi du fichier temporaire.
Etape 2, dans le fichier j'ai ajouté du texte et enregistré
On voit que le logiciel ne sais pas me montrer les différences (c'est pas dézippé), mais il me propose d'ouvrir "Avant" et "Après"
Etape 3 après commentaire et validation, on voit dans l'historique que je peux toujours ouvrir "Avant" et "Après"
Etape 4 dans l'historique, on voit le fichier qui m'a permit d'ignorer le fichier temporaire, c'est un fichier text et là on voir que j'ai ajouté (via SourceTree) une ligne dans ce fichier.