proposer de faire une sauvegarde du classeur avant de le fermer

Le
Serge Nazarian
Bonjour,

Je souhaiterais que, quand je quitte un classeur Excel, il me soit proposé
de faire une copie de sauvegarde à un autre endroit.
Est-ce possible et si oui, comment ?

Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
J
Le #22640591
Bonjour

SAUVEGARDE automatique en fermant, avec enregistrement sous le nom du
contenu d'une cellule.
L'adresse est définie en adaptant ZtPath
Double Clic sur ThisWookbook Fenêtre du code, cliquer sur Workbook en
haut à gauche, puis Before_Close en haut à droite, et copie du code.
(Remarque : je ne suis pas l'auteur de ce code)

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ZtPath As String
Dim ZtNom As String
ZtPath = "C:MesDocZaza"
ZtNom = Range("$A$1")
ActiveWorkbook.SaveAs Filename:=ZtPath & "" & ZtNom & ".xls"
End Sub

Le 03/10/2010 06:02, Serge Nazarian a écrit :
Bonjour,

Je souhaiterais que, quand je quitte un classeur Excel, il me soit
proposé de faire une copie de sauvegarde à un autre endroit.
Est-ce possible et si oui, comment ?

Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu

J
Le #22640821
Autre chose.
Toujours à mettre dans Thisworkbook, code qui t'ouvre une fenêtre
"enregistrer sous" avant de fermer.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.Dialogs(xlDialogSaveAs).Show ""
End With
End Sub

Le 03/10/2010 06:02, Serge Nazarian a écrit :
Je souhaiterais que, quand je quitte un classeur Excel, il me soit
proposé de faire une copie de sauvegarde à un autre endroit.
Est-ce possible et si oui, comment ?
Serge Nazarian
Le #22640921
Dans le message :i8acqp$g5o$,
J@@
Bonjour

SAUVEGARDE automatique en fermant, avec enregistrement sous le nom du
contenu d'une cellule.
L'adresse est définie en adaptant ZtPath
Double Clic sur ThisWookbook Fenêtre du code, cliquer sur Workbook en
haut à gauche, puis Before_Close en haut à droite, et copie du code.
(Remarque : je ne suis pas l'auteur de ce code)

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ZtPath As String
Dim ZtNom As String
ZtPath = "C:MesDocZaza"
ZtNom = Range("$A$1")
ActiveWorkbook.SaveAs Filename:=ZtPath & "" & ZtNom & ".xls"
End Sub





Encore merci !

Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian
Le #22641721
Dans le message :i8ah6v$pj8$,
J@@
Autre chose.
Toujours à mettre dans Thisworkbook, code qui t'ouvre une fenêtre
"enregistrer sous" avant de fermer.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.Dialogs(xlDialogSaveAs).Show ""
End With
End Sub



Ceci marche bien aussi, mais présente l'inconvénient de ne plus avoir la
proposition de sauver le fichier lui-même à la fermeture.

On peut bien sûr ajouter dans le With
.Dialogs(xlDialogSaveWorkbook).Show ""

mais je trouve ce comportement bizarre.

Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian
Le #22643551
Dans le message :i8ah6v$pj8$,
J@@
Autre chose.
Toujours à mettre dans Thisworkbook, code qui t'ouvre une fenêtre
"enregistrer sous" avant de fermer.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.Dialogs(xlDialogSaveAs).Show ""
End With
End Sub



J'ai écrit une bêtise.
Que ce soit avec l'une ou l'autre méthode, la boite de dialogue
"Voulez-vous enregistrer les modifications apportées à 'Nouveau Feuille de
calcul Microsoft Excel.xls'?"
n'apparaît pas.

C'est sans doute normal puisque

With Application
.Dialogs(xlDialogSaveAs).Show ""
End With

est la dernière instruction exécutée.

Comment la faire réapparaître ?

En effet
.Dialogs(xlDialogSaveWorkbook).Show ""
n'a pas exactement le même comportement. Elle est analogue à SaveAs et
s'exécute toujours, que le fichier ait changé ou pas.
Il y a peut-être une variable qui indique justement si ce fichier à changé
ou non ; si oui, un if ferait l'affaire.

Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
michdenis
Le #22643891
Bonjour,

Je n'ai pas lu tout le fil mais pour répondre à ceci :

| Il y a peut-être une variable qui indique justement si ce fichier à changé

if ThisWorkbook.Saved = True then
Msgbox "modification"
else
Msgbox "pas de modification"
end if

Attention, les fonctions volatiles suivantes se mettent à jour dès l'ouverture d'un fichier Excel.
Conséquemment cela modifie le classeur même si l'usager n'y a fait aucune modifications.

Ces fonctions sont : Alea(), Lignes(), Colonnes(), Indirect(),
Aujourdhui(), Maintenant(), Cellule(), Decaler(),Index(), Zones()

--
MichD
--------------------------------------------


"Serge Nazarian" 4ca9c75f$0$660$
Dans le message :i8ah6v$pj8$,
J@@
Autre chose.
Toujours à mettre dans Thisworkbook, code qui t'ouvre une fenêtre
"enregistrer sous" avant de fermer.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.Dialogs(xlDialogSaveAs).Show ""
End With
End Sub



J'ai écrit une bêtise.
Que ce soit avec l'une ou l'autre méthode, la boite de dialogue
"Voulez-vous enregistrer les modifications apportées à 'Nouveau Feuille de
calcul Microsoft Excel.xls'?"
n'apparaît pas.

C'est sans doute normal puisque

With Application
.Dialogs(xlDialogSaveAs).Show ""
End With

est la dernière instruction exécutée.

Comment la faire réapparaître ?

En effet
.Dialogs(xlDialogSaveWorkbook).Show ""
n'a pas exactement le même comportement. Elle est analogue à SaveAs et
s'exécute toujours, que le fichier ait changé ou pas.
Il y a peut-être une variable qui indique justement si ce fichier à changé
ou non ; si oui, un if ferait l'affaire.

Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian
Le #22644041
Dans le message :i8cn4i$994$,
michdenis
Bonjour,

Je n'ai pas lu tout le fil mais pour répondre à ceci :

Il y a peut-être une variable qui indique justement si ce fichier à
changé



if ThisWorkbook.Saved = True then
Msgbox "modification"
else
Msgbox "pas de modification"
end if

Attention, les fonctions volatiles suivantes se mettent à jour dès
l'ouverture d'un fichier Excel. Conséquemment cela modifie le
classeur même si l'usager n'y a fait aucune modifications.

Ces fonctions sont : Alea(), Lignes(), Colonnes(), Indirect(),
Aujourdhui(), Maintenant(), Cellule(), Decaler(),Index(), Zones()

--
MichD



Puisque Maintenant() se met à jour, la modification aura toujours lieu, me
semble-t-il.

Cordialement,
--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
michdenis
Le #22644131
| Puisque Maintenant() se met à jour, la modification
| aura toujours lieu, me semble-t-il.

Effectivement.
LSteph
Le #22644191
Bonjour,

;o))
Et pourquoi pas un savecopyas tout simplement
(ceci fonctionne avec un classeur enregistré au moins une première
fois)



Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
MkDir "c:Dossierdescopies"
On Error GoTo 0
With ThisWorkbook
.SaveCopyAs "c:Dossierdescopies" & Format(Now, "yymmddhhnn") & .Name
End With
End Sub


'LSteph



On 3 oct, 18:02, "Serge Nazarian"
Bonjour,

Je souhaiterais que, quand je quitte un classeur Excel, il me soit propos é
de faire une copie de sauvegarde à un autre endroit.
Est-ce possible et si oui, comment ?

Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Pour m'écrire directement :http://cerbermail.com/?ZDkROVSJlu
Publicité
Poster une réponse
Anonyme