Message à la fermeture du classeur

9 réponses
Avatar
Fredo P.
Bonjour ,
Est il possible, après le clic sur la croix de fermeture, de ne pas avoir à
nouveau la demande d'enregistrer un classeur quand il vient d'être
enregistré via le bouton d'enregistrement.

9 réponses

Avatar
LSteph
Bonjour,
en principe, cela fonctionne déjà ainsi:
quand un classeur vient d'être enregistré
sauf nouvelle modification de celui-ci,
il n'y a pas cette demande en cliquant sur la croix.
Cordialement.
--
LSteph
Avatar
Jacquouille
Salut Stéphane,
Tu as raison, mais où cela se corse, c'est quand on ouvre le dossier, puis
qu'on sélectionne une cellule. S'il y a des calculs automatiques, le
dossier se considère comme modifié, même si on ne modifie pas le contenu de
la cel que l'on vient de sélectionner.
C'est donc un petit vicieux qui fait son coup en cachette. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
Bonjour,
en principe, cela fonctionne déjà ainsi:
quand un classeur vient d'être enregistré
sauf nouvelle modification de celui-ci,
il n'y a pas cette demande en cliquant sur la croix.
Cordialement.
--
LSteph
Avatar
Fredo P.
j'ai omis cette routine en place sur le classeur qui enregistre sans la
fenêtre d'enregistrement, ce qui est la raison de ma question (je pense).
Sans cette routine LeSteph a raison, ne doit on pas ajouter une ligne dans
BeforeSave?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Fich$
If [Init!G22] = True Then
Fermeture
End If
Fich = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
If [Init!F22] = True Then
With Application
.DisplayAlerts = False
ActiveWorkbook.SaveAs Fich
ActiveWorkbook.Close
.Quit
.DisplayAlerts = True
End With
End If
enaT
End Sub
"Jacquouille" a écrit dans le message de groupe de discussion :
pj4fil$17dd$
Salut Stéphane,
Tu as raison, mais où cela se corse, c'est quand on ouvre le dossier, puis
qu'on sélectionne une cellule. S'il y a des calculs automatiques, le
dossier se considère comme modifié, même si on ne modifie pas le contenu de
la cel que l'on vient de sélectionner.
C'est donc un petit vicieux qui fait son coup en cachette. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
Bonjour,
en principe, cela fonctionne déjà ainsi:
quand un classeur vient d'être enregistré
sauf nouvelle modification de celui-ci,
il n'y a pas cette demande en cliquant sur la croix.
Cordialement.
--
LSteph
Avatar
Fredo P.
En fait rien de ce qui se trouve dans BeforeClose n'est employé mis à par
Enat qui n'est autre que "application.EnableEvents=True"
"Fredo P." a écrit dans le message de groupe de discussion :
pj4m2c$1ld3$
j'ai omis cette routine en place sur le classeur qui enregistre sans la
fenêtre d'enregistrement, ce qui est la raison de ma question (je pense).
Sans cette routine LeSteph a raison, ne doit on pas ajouter une ligne dans
BeforeSave?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Fich$
If [Init!G22] = True Then
Fermeture
End If
Fich = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
If [Init!F22] = True Then
With Application
.DisplayAlerts = False
ActiveWorkbook.SaveAs Fich
ActiveWorkbook.Close
.Quit
.DisplayAlerts = True
End With
End If
enaT
End Sub
"Jacquouille" a écrit dans le message de groupe de discussion :
pj4fil$17dd$
Salut Stéphane,
Tu as raison, mais où cela se corse, c'est quand on ouvre le dossier, puis
qu'on sélectionne une cellule. S'il y a des calculs automatiques, le
dossier se considère comme modifié, même si on ne modifie pas le contenu de
la cel que l'on vient de sélectionner.
C'est donc un petit vicieux qui fait son coup en cachette. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
Bonjour,
en principe, cela fonctionne déjà ainsi:
quand un classeur vient d'être enregistré
sauf nouvelle modification de celui-ci,
il n'y a pas cette demande en cliquant sur la croix.
Cordialement.
--
LSteph
Avatar
LSteph
Bonjour,
Et dans " Fermeture" ..?
Cdlt
--
LSteph
Le lundi 23 juillet 2018 15:43:42 UTC+2, Fredo P. a écrit :
j'ai omis cette routine en place sur le classeur qui enregistre sans la
fenêtre d'enregistrement, ce qui est la raison de ma question (je pe nse).
Sans cette routine LeSteph a raison, ne doit on pas ajouter une ligne dan s
BeforeSave?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Fich$
If [Init!G22] = True Then
Fermeture
End If
Fich = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
If [Init!F22] = True Then
With Application
.DisplayAlerts = False
ActiveWorkbook.SaveAs Fich
ActiveWorkbook.Close
.Quit
.DisplayAlerts = True
End With
End If
enaT
End Sub
"Jacquouille" a écrit dans le message de groupe de discussion :
pj4fil$17dd$
Salut Stéphane,
Tu as raison, mais où cela se corse, c'est quand on ouvre le dossier , puis
qu'on sélectionne une cellule. S'il y a des calculs automatiques, l e
dossier se considère comme modifié, même si on ne modifie pas le contenu de
la cel que l'on vient de sélectionner.
C'est donc un petit vicieux qui fait son coup en cachette. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
Bonjour,
en principe, cela fonctionne déjà ainsi:
quand un classeur vient d'être enregistré
sauf nouvelle modification de celui-ci,
il n'y a pas cette demande en cliquant sur la croix.
Cordialement.
--
LSteph
Avatar
Fredo P.
Avec beaucoup de retard, la routine Fermeture est un paramétrage pour
enregistrer le classeur automatiquement sans message en cliquant sur la
croix de fermeture, ce qui peut parfois ne pas être souhaité mais comme il
est optionnel, pas de pb.
"LSteph" a écrit dans le message de groupe de discussion :
Bonjour,
Et dans " Fermeture" ..?
Cdlt
--
LSteph
Le lundi 23 juillet 2018 15:43:42 UTC+2, Fredo P. a écrit :
j'ai omis cette routine en place sur le classeur qui enregistre sans la
fenêtre d'enregistrement, ce qui est la raison de ma question (je pense).
Sans cette routine LeSteph a raison, ne doit on pas ajouter une ligne dans
BeforeSave?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Fich$
If [Init!G22] = True Then
Fermeture
End If
Fich = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
If [Init!F22] = True Then
With Application
.DisplayAlerts = False
ActiveWorkbook.SaveAs Fich
ActiveWorkbook.Close
.Quit
.DisplayAlerts = True
End With
End If
enaT
End Sub
"Jacquouille" a écrit dans le message de groupe de discussion :
pj4fil$17dd$
Salut Stéphane,
Tu as raison, mais où cela se corse, c'est quand on ouvre le dossier, puis
qu'on sélectionne une cellule. S'il y a des calculs automatiques, le
dossier se considère comme modifié, même si on ne modifie pas le contenu
de
la cel que l'on vient de sélectionner.
C'est donc un petit vicieux qui fait son coup en cachette. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
Bonjour,
en principe, cela fonctionne déjà ainsi:
quand un classeur vient d'être enregistré
sauf nouvelle modification de celui-ci,
il n'y a pas cette demande en cliquant sur la croix.
Cordialement.
--
LSteph
Avatar
LSteph
...
(C'est peut-être lié à ce qui a dans ce code mais bon...)
Il me vient plus prioritairement d'essayer ceci:
e
Que se passe t il si tu mets au début dans ton beforeclose
'...
Cancel=True
'...
Avatar
LSteph
'...
Cancel = True
'...tamacro...
With Application
'...et ici...
.EnableEvents = False
'....tamacro....
'..puis là....
.EnableEvents = True
End With
'...
Avatar
Fredo P.
Bjr LSteph
Il se passe que le clic sur la croix de fermeture supprime le message et ne
ferme pas le classeur, dommage!!.
"LSteph" a écrit dans le message de groupe de discussion :
'...
Cancel = True
'...tamacro...
With Application
'...et ici...
.EnableEvents = False
'....tamacro....
'..puis là....
.EnableEvents = True
End With
'...