Sauvegarde Automatique à l' ouverture

  • Initiateur de la discussion Initiateur de la discussion Aladin
  • Date de début Date de début

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 !

Aladin

XLDnaute Occasionnel
Bonjour le forum
J' ai consulté lé forum et je n' ai pas trouve de procédure automatique de sauvegarde se rapprochant de ce que je veux faire. Je voudrais faire une sauvearde automatique à l' ouverture du classeur en début de semaine, Le lundi avec comme nom (Nom suivie de la date et de l' heure) avec une suppression des vieux fichiers mais en gardant les 2 derniers.
Merci d' avance pour toute aide
Aladin
 
Re : Sauvegarde Automatique à l' ouverture

Bonjour à tous
J' ai trouvé un code qui pourra faire l' affaire, je l' ai testé mais il fonctionne àvec un bouton , il decra être placé dans le ThisWorkBook Open, mais je ne pourra faire la modif pour lui indiquer de faire cette sauvegarde les lundis, je suis nul en vba
voici le code
Code:
ActiveWorkbook.Save
Jour = Format(Day(Date), "0#")
Mois = Format(Month(Date), "0#")
Année = Year(Date)
'Nom à donner au nouveau classeur
Fichier = "Sauvegarde" & "-" & Mois & "-" & Jour & "-" & Année
'ThisWorkbook.Path permet de recuperer le chemin du classeur actif
Fichier = ThisWorkbook.Path & "\SauvegardeFichiers\" & Fichier
'Enregistrement au format normal le classeur créé
ActiveWorkbook.SaveAs Filename:=Fichier, FileFormat:=xlNormal
'Fermeture du nouveau classeur et archivage des résultats
SupPremierFichier
ActiveWorkbook.Close

Pour Victor21 ma lampe est nulle en vba
Aladin
 
Re : Sauvegarde Automatique à l' ouverture

bonjour le forum
Je reviens vers vous au lieu de faire une sauvegarde automatque du classeur, je préfére un archivage de la feuille , en effectuant des recherches sur le forum j' ai trouvé ce classseur qui fait un backup en mettant une date, je l' ai testé mais j' ai une erreur sur
Code:
Mois = Month(Range("H1"))
dans le code. peux on envisager une modif afin que cette date soit fixe du genre Le Lundi a chaque debut de semaine se fera la sauvegarde. Toute autre solution serait la bienvuenue.
Merci d' avance
Aladin
 

Pièces jointes

Re : Sauvegarde Automatique à l' ouverture

Bonjour JNP
Merci de m' avaoir répondu , mais il faudra bien que je lui donne un reperer sur la feuille dans une cellule afin qu' il puisse calculer le nb jours
comment puis je proceder
Aladin
 
Re : Sauvegarde Automatique à l' ouverture

Re 🙂,
WeekDay donne le jour de la semaine, donc si c'est 2, c'est qu'on est lundi, si c'est autre chose que 2 c'est qu'on est pas lundi 😛...
Je vois pas quel nombre tu veux calculer 🙄...
Bonne suite 😎
 
Re : Sauvegarde Automatique à l' ouverture

Bonsoir JNP et le forum
J' ai resussi ce code, je l' ai placé dans le workBook Open, le test est concluant pour la sauvegarde. par ailleurs il faudra que je teste à partir de demain pour voir si le
Code:
If Weekday(Date) = 2 Then
fonctionne correctement

De plus je bloque sur certains points.
1) Si la feuilles Archives n' est pas crée la macro plante. Pour eviter ce plantage j' aimerais faire ceci
Creer la nouvelle feuille dans le classseur Archives,
copie les donnees
Renommer la feuille en Arch plus la date du jour
2) Voici le code
3) Merci de me corriger en vue d' une optimisation
Code:
Dim Wb1 As Workbook
    Dim WB2 As Workbook
    Dim Plg As Range, Derlgin As Long
    Dim derlign As String
    
  If Weekday(Date) = 2 Then
    Application.ScreenUpdating = False
    Set Wb1 = ThisWorkbook
    Set WB2 = Workbooks.Open("M:\Test\Archives.xls")
    With Wb1.ActiveSheet
        Set Plg = .Range("A1:J" & .Range("A65536").End(xlUp).Row)
    End With
    With WB2.Sheets("Archives")
        derlign = .Range("A65536").End(xlUp).Row
        Plg.Copy .Range("A" & derlign + 1)
        .Columns("A:J").AutoFit
     End With
     End If

Cordialement
Aladin
 
Re : Sauvegarde Automatique à l' ouverture

Re 🙂,
Pour le 1), en gros, il te suffit de boucler sur les feuilles d'Archives.xls pour vérifier si la feuille existe (propriété WorkSheet.Name), si elle n'existe pas, il suffit d'utiliser WorkSheets.Add 😉.
Bon courage 😎
 
Re : Sauvegarde Automatique à l' ouverture

Bonjour JNP et le forum
En suivant tes conseils j' ai avancé un peu sur mon code.
1)La creation et le renommage de la feuille = OK mais j' ai un blocage sur la ligne suivante

Code:
 derlign = .Range("A65536").End(xlUp).Row
Voici le code modifié
Code:
Dim Wb1 As Workbook
    Dim WB2 As Workbook
    Dim Plg As Range, Derlgin As Long
    Dim derlign As String
    Application.ScreenUpdating = False
 ' If Weekday(Date) = 2 Then
    Set Wb1 = ThisWorkbook
    Set WB2 = Workbooks.Open("F:\Test\Archives.xls")
    With Wb1.ActiveSheet
        Set Plg = .Range("A1:J" & .Range("A65536").End(xlUp).Row)
    End With


    With WB2        '.Sheets("Archives")
        WB2.Worksheets.Add
        ActiveSheet.Name = Format(Date, "dd-mm-yy") & " " & Format(Time, "hh""h""mm")
        
        derlign = .Range("A65536").End(xlUp).Row
        Plg.Copy .Range("A" & derlign + 1)
        .Columns("A:J").AutoFit
     End With

  '   End If

Aladin
 
Re : Sauvegarde Automatique à l' ouverture

Re 🙂,
Logique vu que tu appliques des propriétés de feuille... à un classeur 😱...
Code:
    With WB2        '.Sheets("Archives")
        WB2.Worksheets.Add
        With ActiveSheet
            .Name = Format(Date, "dd-mm-yy") & " " & Format(Time, "hh""h""mm")
            derlign = .Range("A65536").End(xlUp).Row
            Plg.Copy .Range("A" & derlign + 1)
            .Columns("A:J").AutoFit
        End With
     End With
devrait mieux marcher 🙄...
Maintenant, soyons logique, il ne sert à rien de déterminer le première ligne vide... d'une nouvelle feuille 😛...
Donc
Code:
    With WB2        '.Sheets("Archives")
        WB2.Worksheets.Add
        With ActiveSheet
            .Name = Format(Date, "dd-mm-yy") & " " & Format(Time, "hh""h""mm")
            Plg.Copy .Range("A1")
            .Columns("A:J").AutoFit
        End With
     End With
Enfin, attention, avant d'ajouter la feuille, il serait bien de vérifier qu'elle n'existe pas déjà, sinon, plantage au renommage 😱...
Bon courage 😎
 
- 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

T
  • Question Question
Réponses
125
Affichages
14 K
A
  • Question Question
Réponses
3
Affichages
2 K
D
Réponses
20
Affichages
4 K
Débutant79
D
L
Réponses
7
Affichages
3 K
leodaedo
L
O
  • Question Question
Microsoft 365 Equitation et exel
Réponses
6
Affichages
1 K
Ornella
O
S
Réponses
9
Affichages
4 K
stef2107
S
L
Réponses
1
Affichages
1 K
Lucien31
L
S
Réponses
0
Affichages
2 K
Serious E
S
Réponses
9
Affichages
2 K
J
Réponses
1
Affichages
564
jdawson
J
A
Réponses
0
Affichages
8 K
Arpopa
A
M
Réponses
20
Affichages
3 K
massol
M
V
Réponses
2
Affichages
2 K
VOILLOT
V
C
Réponses
4
Affichages
2 K
cisco91
C
Retour