sPath = ThisWorkbook.Path & "\" & Range("BackupWhere")
sPath = Range("BackupWhere")
Private Sub Workbook_Open()
Dim MaDate As Date
Dim Fichier As String
MaDate = Range("D1") + 180
If Date > MaDate Then
' A adapter .........
Fichier = "C:\Mon chemin qui va bien\Nom de mon fichier.xlsm" 'A adapter bien sur
ThisWorkbook.SaveAs Fichier
'******
Range("D1") = Date ' Mets la date du jour et c'est reparti pour 180 jours
End If
End Sub
Bonsoir Phil69970, j'ai commis deux erreurs, la première erreur la sauvegarde à faire n'est pas semestrielle mais hebdomadaire oups, et effectivement si la sauvegarde pouvait se faire en fermant le fichier serait mieux. La deuxième erreur, le fichier en pièce jointe à plusieurs onglets et ça a une grande importance pour la macro je pense. Je t'ai mis le fichier concerné. Il est protégé en écriture. le code est virema. MerciBonjour à tous
@Tom pouce
Dans ThisWorkbook: :
VB:Private Sub Workbook_Open() Dim MaDate As Date Dim Fichier As String MaDate = Range("D1") + 180 If Date > MaDate Then ' A adapter ......... Fichier = "C:\Mon chemin qui va bien\Nom de mon fichier.xlsm" 'A adapter bien sur ThisWorkbook.SaveAs Fichier '****** Range("D1") = Date ' Mets la date du jour et c'est reparti pour 180 jours End If End Sub
Dans l'exemple :
Tu mets la date du 07/06/2024 dans la cellule D1
Tu mets le nom du chemin et le nom du fichier dans le code VBA
Il faut attendre demain pour que le fichier s'enregistre si tu es pressé il faut adapter la date de la cellule D1
Merci de ton retour
BonsoirWDog66,Bonjour Tom pouce, à tous
Avec une feuilles "Params" que vous pouvez masquer et dans laquelle vous pouvez paramétrer le nombre de jour avant sauvegarde et le dossier (plages nommées)
La backup se fait en fermant le fichier, qu'il y est un onglet ou plusieurs, cela ne change rien puisqu'on sauvegarde le classeur entier
A+
sPath = ThisWorkbook.Path & "\" & Range("BackupWhere")
sPath = Range("BackupWhere")