sauvegarde d'une feuille avant fermeture classeur

Le
L-A
Bonjour

J'ai un classeur avec plusieurs feuilles et je souhaiterai qu'a l'enregistrement de mon classeur, la feuille nommé "BILAN" soit sauvegardée dans un dossier sur le réseau ( Z/sauvegarde bilan)

petite subtilité je souhaiterai que seules les valeurs et formats soient recopiés.

Merci de votre aide

bonne soirée
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
MichD
Le #26560274
Le 18/11/20 Í  12:35, L-A a écrit :
Bonjour
J'ai un classeur avec plusieurs feuilles et je souhaiterai qu'a l'enregistrement de mon classeur, la feuille nommé "BILAN" soit sauvegardée dans un dossier sur le réseau ( Z/sauvegarde bilan)
petite subtilité je souhaiterai que seules les valeurs et formats soient recopiés.
Merci de votre aide
bonne soirée


Bonjour,
Mets la procédure suivante dans le ThisWorkbook de ton classeur dans la
fenêtre de l'éditeur de code (VBA).
À chaque fois que tu vas enregistrer le fichier, une copie de la feuille
"Bilan" sera sauvegardée sous le nom : Bilan 20 11 18 13 27 49.xlsm
Ceci "20 11 18 13 27 49" représente la date de l'enregistrement au
format année mois jour h mm ss
Ce format date est utilisé afin de t'assurer que chaque nom du fichier
est différent. Durant une session de travail, tu peux enregistrer
plusieurs fois le fichier.
'---------------------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim Nom As String, X As XlFileFormat
X = xlOpenXMLWorkbookMacroEnabled
Application.ScreenUpdating = False
With Worksheets("Bilan")
.Copy
Nom = .Name & " " & Format(Now(), "yy mm dd H MM SS") & ".xlsm"
With ActiveWorkbook
.SaveAs Filename:="Z:Sauvegarde" & Nom, FileFormat:=X
.Close False
End With
End With
Application.ScreenUpdating = False
End Sub
'---------------------------------------------
MichD
MichD
Le #26560286
Si tu préfères, tu peux conserver seulement un exemplaire du fichier par
jour.
À chaque fois que tu enregistres, la nouvelle copie écrase l'ancienne.
'-------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim Nom As String, X As XlFileFormat
X = xlOpenXMLWorkbookMacroEnabled
Application.ScreenUpdating = False
With Worksheets("Bilan")
.Copy
Nom = .Name & " " & Format(Date, "yy mm dd") & ".xlsm"
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs Filename:="Z:Sauvegarde" & Nom, FileFormat:=X
Application.DisplayAlerts = True
.Close False
End With
End With
Application.ScreenUpdating = False
End Sub
'-------------------------
MichD
L-A
Le #26560289
Le mercredi 18 novembre 2020 Í  20:16:23 UTC+1, MichD a écrit :
Si tu préfères, tu peux conserver seulement un exemplaire du fichier par
jour.
À chaque fois que tu enregistres, la nouvelle copie écrase l'ancienne.
'-------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim Nom As String, X As XlFileFormat
X = xlOpenXMLWorkbookMacroEnabled
Application.ScreenUpdating = False
With Worksheets("Bilan")
.Copy
Nom = .Name & " " & Format(Date, "yy mm dd") & ".xlsm"
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs Filename:="Z:Sauvegarde" & Nom, FileFormat:=X
Application.DisplayAlerts = True
.Close False
End With
End With
Application.ScreenUpdating = False
End Sub
'-------------------------
MichD

Formidable
Merci beaucoup
en revanche Í  la fin de la procédure, dois-je laisser application.screenupdating Í  False ?
MichD
Le #26560293
Le 18/11/20 Í  14:22, L-A a écrit :
Le mercredi 18 novembre 2020 Í  20:16:23 UTC+1, MichD a écrit :
Si tu préfères, tu peux conserver seulement un exemplaire du fichier par
jour.
À chaque fois que tu enregistres, la nouvelle copie écrase l'ancienne.
'-------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim Nom As String, X As XlFileFormat
X = xlOpenXMLWorkbookMacroEnabled
Application.ScreenUpdating = False
With Worksheets("Bilan")
.Copy
Nom = .Name & " " & Format(Date, "yy mm dd") & ".xlsm"
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs Filename:="Z:Sauvegarde" & Nom, FileFormat:=X
Application.DisplayAlerts = True
.Close False
End With
End With
Application.ScreenUpdating = False
End Sub
'-------------------------
MichD

Formidable
Merci beaucoup
en revanche Í  la fin de la procédure, dois-je laisser application.screenupdating Í  False ?

Je suis distrait... tu devrais la remettre Í  True.
MichD
L-A
Le #26560292
Pour une fois et je crois que ça sera la seule fois que je trouve une coquille dans tes codes.:):):)
tu es formidable et moi je suis content d'avoir vu ça
merci
Le mercredi 18 novembre 2020 Í  20:43:57 UTC+1, MichD a écrit :
Le 18/11/20 Í  14:22, L-A a écrit :
Le mercredi 18 novembre 2020 Í  20:16:23 UTC+1, MichD a écrit :
Si tu préfères, tu peux conserver seulement un exemplaire du fichier par
jour.
À chaque fois que tu enregistres, la nouvelle copie écrase l'ancienne.
'-------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim Nom As String, X As XlFileFormat
X = xlOpenXMLWorkbookMacroEnabled
Application.ScreenUpdating = False
With Worksheets("Bilan")
.Copy
Nom = .Name & " " & Format(Date, "yy mm dd") & ".xlsm"
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs Filename:="Z:Sauvegarde" & Nom, FileFormat:=X
Application.DisplayAlerts = True
.Close False
End With
End With
Application.ScreenUpdating = False
End Sub
'-------------------------
MichD

Formidable
Merci beaucoup
en revanche Í  la fin de la procédure, dois-je laisser application.screenupdating Í  False ?

Je suis distrait... tu devrais la remettre Í  True.
MichD
Poster une réponse
Anonyme