Autres sauvegarde semestriel d'un fichier excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tom pouce

XLDnaute Nouveau
Bonjour, Je recherche une macro me permettant la sauvegarde automatique semestrielle d'un fichier excel (nom du fichier >> gestion compte 20) dans un dossier portant pour exemple le nom >> sauvegardes antérieur comptes
Merci
Tom pouce
 
Solution
Bonjour Tom pouce,

Non, si votre classeur est à cet endroit

Sinon il faut modifier la ligne
VB:
sPath = ThisWorkbook.Path & "\" & Range("BackupWhere")
par
VB:
sPath = Range("BackupWhere")

Ainsi la variable "sPath" prendra la valeur du chemin complet

J'espère que ce sera clair
Bonjour à 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
 
Bonjour Patrick

Au pire il perd le travail du jour.
Si il enregistre sa sauvegarde à 8 h 00 du matin (à l'ouverture du fichier) il aura bien tout ce qui c'est passé les 6 derniers mois
Si il enregistre sa sauvegarde à 8 h 00 du soir (à la fermeture du fichier) il aura bien tout ce qui c'est passé les 6 derniers mois + la journée du jour

Evidement si il ouvre son fichier que tous les 6 mois il faut mieux y inclure la journée du jour !!!
Mais perso je vois plus trop bien l'utilité de sa demande dans ce cas là. (D'ouvrir un fichier tous les 6 mois)

Mais si il a peur de foutre en l'air le fichier en l'ouvrant et le bricolant tous les 6 mois il faut mieux faire la sauvegarde à l'ouverture avant bricolage......
 
Bonjour à 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
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. Merci
 

Pièces jointes

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+
 

Pièces jointes

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+
BonsoirWDog66,
Dois-je modifier ou copier le chemin d'accès qui est (C:\Users\Bruno\Documents\Comptabilité\Documents) au fichier de sauvegarde Backup ?
Merci
 
Bonjour Tom pouce,

Non, si votre classeur est à cet endroit

Sinon il faut modifier la ligne
VB:
sPath = ThisWorkbook.Path & "\" & Range("BackupWhere")
par
VB:
sPath = Range("BackupWhere")

Ainsi la variable "sPath" prendra la valeur du chemin complet

J'espère que ce sera clair
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
446
Réponses
5
Affichages
334
Retour