Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

BeforetoClose et Annuler la fermeture.

6 réponses
Avatar
Vortex30
Bonjour.

A l'ouverture de mon fichier excel, je créé une barre d'outil.
Comme il faut ranger ses affaires , a la fermeture du classeur je supprime
cette barre.Je le fais avec l'evenement BEFORECLOSE du classeur.

J'ai remarqué que si clique sur femer , Excel me propose, de sauvegarder, de
ne pas sauvegarder et d'annuler la fermeture.

Dans les 1ers cas, aucun probleme.
Si je choisi annuler, le fichier reste ouvert, mais la barre est partie.
Il semble que le Beforeclose s'execute tres tres en avant de la fermeture.

Y a t il un moyen de palier a cela?

Merci.

David.

6 réponses

Avatar
Denis Michon
Bonsoir Vortex,

à copier dans le ThisWorkbook de ton classseur.

'--------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

If ThisWorkbook.Saved = False Then
Res = MsgBox("Désirez-vous enregistrer vos modifications ?", vbYesNoCancel, "Sauvegarde")
Select Case Res
Case Is = vbYes
'Appel de la Procédure de remise en place
'des paramètres des barres d'excel
ThisWorkbook.Save
ThisWorkbook.Close
Case Is = vbNo
'Appel de la Procédure de remise en place
'des paramètres des barres d'excel
ThisWorkbook.Close
Case Is = vbCancel
Cancel = True
End Select
End If

End Sub
'--------------------------


Salutations!





"Vortex30" a écrit dans le message de news:bnup7b$jp0$
Bonjour.

A l'ouverture de mon fichier excel, je créé une barre d'outil.
Comme il faut ranger ses affaires , a la fermeture du classeur je supprime
cette barre.Je le fais avec l'evenement BEFORECLOSE du classeur.

J'ai remarqué que si clique sur femer , Excel me propose, de sauvegarder, de
ne pas sauvegarder et d'annuler la fermeture.

Dans les 1ers cas, aucun probleme.
Si je choisi annuler, le fichier reste ouvert, mais la barre est partie.
Il semble que le Beforeclose s'execute tres tres en avant de la fermeture.

Y a t il un moyen de palier a cela?

Merci.

David.
Avatar
Denis Michon
Dans le select case , case vbno, apporter cette correction

Case Is = vbNo
'Appel de la Procédure de remise en place
'des paramètres des barres d'excel
ThisWorkbook.Saved = True
ThisWorkbook.Close


Salutations!


à copier dans le ThisWorkbook de ton classseur.

'--------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

If ThisWorkbook.Saved = False Then
Res = MsgBox("Désirez-vous enregistrer vos modifications ?", vbYesNoCancel, "Sauvegarde")
Select Case Res
Case Is = vbYes
'Appel de la Procédure de remise en place
'des paramètres des barres d'excel
ThisWorkbook.Save
ThisWorkbook.Close
Case Is = vbNo
'Appel de la Procédure de remise en place
'des paramètres des barres d'excel
ThisWorkbook.Close
Case Is = vbCancel
Cancel = True
End Select
End If

End Sub
'--------------------------


Salutations!





"Vortex30" a écrit dans le message de news:bnup7b$jp0$
Bonjour.

A l'ouverture de mon fichier excel, je créé une barre d'outil.
Comme il faut ranger ses affaires , a la fermeture du classeur je supprime
cette barre.Je le fais avec l'evenement BEFORECLOSE du classeur.

J'ai remarqué que si clique sur femer , Excel me propose, de sauvegarder, de
ne pas sauvegarder et d'annuler la fermeture.

Dans les 1ers cas, aucun probleme.
Si je choisi annuler, le fichier reste ouvert, mais la barre est partie.
Il semble que le Beforeclose s'execute tres tres en avant de la fermeture.

Y a t il un moyen de palier a cela?

Merci.

David.
Avatar
Frédéric Sigonneau
Bonsoir,

Essaye plutôt de détruire ta barre d'outils sur l'événement Deactivate du
classeur (déclenché après le BeforeClose), et, du coup, de la créer sur
l'événement Activate.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour.

A l'ouverture de mon fichier excel, je créé une barre d'outil.
Comme il faut ranger ses affaires , a la fermeture du classeur je supprime
cette barre.Je le fais avec l'evenement BEFORECLOSE du classeur.

J'ai remarqué que si clique sur femer , Excel me propose, de sauvegarder, de
ne pas sauvegarder et d'annuler la fermeture.

Dans les 1ers cas, aucun probleme.
Si je choisi annuler, le fichier reste ouvert, mais la barre est partie.
Il semble que le Beforeclose s'execute tres tres en avant de la fermeture.

Y a t il un moyen de palier a cela?

Merci.

David.


Avatar
David Q
Merci.

J'essaie cela des cette semaine.


Cordialement.

"Denis Michon" a écrit dans le message de news:
91Eob.1476$
Dans le select case , case vbno, apporter cette correction

Case Is = vbNo
'Appel de la Procédure de remise en place
'des paramètres des barres d'excel
ThisWorkbook.Saved = True
ThisWorkbook.Close


Salutations!


à copier dans le ThisWorkbook de ton classseur.

'--------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

If ThisWorkbook.Saved = False Then
Res = MsgBox("Désirez-vous enregistrer vos modifications ?",
vbYesNoCancel, "Sauvegarde")

Select Case Res
Case Is = vbYes
'Appel de la Procédure de remise en place
'des paramètres des barres d'excel
ThisWorkbook.Save
ThisWorkbook.Close
Case Is = vbNo
'Appel de la Procédure de remise en place
'des paramètres des barres d'excel
ThisWorkbook.Close
Case Is = vbCancel
Cancel = True
End Select
End If

End Sub
'--------------------------


Salutations!





"Vortex30" a écrit dans le message de
news:bnup7b$jp0$

Bonjour.

A l'ouverture de mon fichier excel, je créé une barre d'outil.
Comme il faut ranger ses affaires , a la fermeture du classeur je supprime
cette barre.Je le fais avec l'evenement BEFORECLOSE du classeur.

J'ai remarqué que si clique sur femer , Excel me propose, de sauvegarder,
de

ne pas sauvegarder et d'annuler la fermeture.

Dans les 1ers cas, aucun probleme.
Si je choisi annuler, le fichier reste ouvert, mais la barre est partie.
Il semble que le Beforeclose s'execute tres tres en avant de la fermeture.

Y a t il un moyen de palier a cela?

Merci.

David.






Avatar
David Q
Merci.

Le probleme est que l'utilisateur doit regulierement passer d'un classeur a
un autre.
Cela ne risque t il pas de l'enerver de voir cette barre flasher a chaque
activation .?


Merci en tout cas de l'idée.

David.

"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Essaye plutôt de détruire ta barre d'outils sur l'événement Deactivate du
classeur (déclenché après le BeforeClose), et, du coup, de la créer sur
l'événement Activate.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour.

A l'ouverture de mon fichier excel, je créé une barre d'outil.
Comme il faut ranger ses affaires , a la fermeture du classeur je
supprime


cette barre.Je le fais avec l'evenement BEFORECLOSE du classeur.

J'ai remarqué que si clique sur femer , Excel me propose, de
sauvegarder, de


ne pas sauvegarder et d'annuler la fermeture.

Dans les 1ers cas, aucun probleme.
Si je choisi annuler, le fichier reste ouvert, mais la barre est partie.
Il semble que le Beforeclose s'execute tres tres en avant de la
fermeture.



Y a t il un moyen de palier a cela?

Merci.

David.






Avatar
Frédéric Sigonneau
Bonsoir,

Fais l'essai... J'utilise cette technique toute la journée et je n'ai jamais
remarqué le moindre effet de "flashage". La création d'une barre d'outils est
quasi instantanée (ou alors ta barre est vraiment énorme avec des images perso
pour tes boutons à aller chercher aux 4 coins de ton disque dur...).

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Merci.

Le probleme est que l'utilisateur doit regulierement passer d'un classeur a
un autre.
Cela ne risque t il pas de l'enerver de voir cette barre flasher a chaque
activation .?

Merci en tout cas de l'idée.

David.

"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Essaye plutôt de détruire ta barre d'outils sur l'événement Deactivate du
classeur (déclenché après le BeforeClose), et, du coup, de la créer sur
l'événement Activate.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour.

A l'ouverture de mon fichier excel, je créé une barre d'outil.
Comme il faut ranger ses affaires , a la fermeture du classeur je
supprime


cette barre.Je le fais avec l'evenement BEFORECLOSE du classeur.

J'ai remarqué que si clique sur femer , Excel me propose, de
sauvegarder, de


ne pas sauvegarder et d'annuler la fermeture.

Dans les 1ers cas, aucun probleme.
Si je choisi annuler, le fichier reste ouvert, mais la barre est partie.
Il semble que le Beforeclose s'execute tres tres en avant de la
fermeture.



Y a t il un moyen de palier a cela?

Merci.

David.