Annuler Private Sub Workbook_BeforeClose(Cancel As Boolean) si annuler la fermeture

dionys0s

XLDnaute Impliqué
Bonjour le forum :)

J'ai un léger souci.

J'ai le code suivant :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.CommandBars("Ply").Enabled = True    'Réactive le clic droit sur les onglets
Application.CommandBars("Cell").Enabled = True    'Réactive le clic droit sur les cellules
Application.CommandBars("Row").Enabled = True    'Réactive le clic droit sur les lignes
Application.CommandBars("Column").Enabled = True    'Réactive le clic droit sur les colonnes

End Sub

Si je clique sur fermer, mais que j'annule, mes CommandBars sont réactivées. Est-il possible de détecter si on annule ou non la fermeture, et d'annuler la procédure si on annule la fermeture ?

D'avance merci pour votre aide

dionys0s
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Annuler Private Sub Workbook_BeforeClose(Cancel As Boolean) si annuler la fermet

Bonjour

Pas sûr de moi mais essaies

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

If cancel=false then
Application.CommandBars("Ply").Enabled = True    'Réactive le clic droit sur les onglets
Application.CommandBars("Cell").Enabled = True    'Réactive le clic droit sur les cellules
Application.CommandBars("Row").Enabled = True    'Réactive le clic droit sur les lignes
Application.CommandBars("Column").Enabled = True    'Réactive le clic droit sur les colonnes
End if
End Sub
 

dionys0s

XLDnaute Impliqué
Re : Annuler Private Sub Workbook_BeforeClose(Cancel As Boolean) si annuler la fermet

Bonjour Pascal.

Merci pour ta réponse, mais malheureusement cette solution le marche pas.
Je vais continuer de regarder à droite à gauche si je trouve quelquechose.
Mais si quelqu'un a une idée je suis toujours preneur ^^

Merci beaucoup d'avance :)
 

dionys0s

XLDnaute Impliqué
Re : Annuler Private Sub Workbook_BeforeClose(Cancel As Boolean) si annuler la fermet

Re.

chuis un peu bête... Ta solution marche, à condition bien sûr de préciser le Else :

Code:
If Cancel = True Then
Application.CommandBars("Ply").Enabled = True    'Réactive le clic droit sur les onglets
Application.CommandBars("Cell").Enabled = True    'Réactive le clic droit sur les cellules
Application.CommandBars("Row").Enabled = True    'Réactive le clic droit sur les lignes
Application.CommandBars("Column").Enabled = True    'Réactive le clic droit sur les colonnes
Else
Application.CommandBars("Ply").Enabled = False    'Réactive le clic droit sur les onglets
Application.CommandBars("Cell").Enabled = False    'Réactive le clic droit sur les cellules
Application.CommandBars("Row").Enabled = False    'Réactive le clic droit sur les lignes
Application.CommandBars("Column").Enabled = False    'Réactive le clic droit sur les colonnes
End If

Merci et bon après midi
 

dionys0s

XLDnaute Impliqué
Re : Annuler Private Sub Workbook_BeforeClose(Cancel As Boolean) si annuler la fermet

oooops sorry... J'ai parlé trop vite... Ca ne marche pas completement puisque lorsque je n'annule pas ça ne réactive pas les CommandBars...
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Annuler Private Sub Workbook_BeforeClose(Cancel As Boolean) si annuler la fermet

RE

Je crois qu'il y a une erreur dans ton ordre

si cancel = true (cela veut dire que tu annules) et toi tu remets tout à True
Par contre tu laisse tout à false si tu n'annules pas et donc que tu fermes réellement
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 356
Membres
103 528
dernier inscrit
hplus