1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| Attribute VB_Name = "CacherToutesBarresOutils1"
'Cette procédure mémorise (à l'ouverture du classeur où elle sera placée,
'dans une feuille "StockBarOut" de ce même classeur) toutes les barres
'd'outils présentes au moment de l'ouverture du classeur, les masque
'(également la barre des menus, la barre d'état ainsi que la barre de
'formule),
'puis restitue au moment de sa fermeture (en cliquant sur un bouton de
'commande "Quitter") toutes les barres d'outils qui avaient été auparavant
'mémorisées.
'ChrisV, mpfe
'==============================
'Dans la feuille de code de ThisWorkbook
'Attention : la feuille "StockBarOut" *doit* exister dans le classeur
Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Application
.CommandBars(1).Enabled = False
.DisplayFormulaBar = False
.DisplayStatusBar = False
End With
Sheets("StockBarOut").Range("A:A").ClearContents
TBarCompteur = 0
For Each cbar In Application.CommandBars
If cbar.Type = msoBarTypeNormal Then
If cbar.Visible Then
TBarCompteur = TBarCompteur + 1
Sheets("StockBarOut").Cells(TBarCompteur, 1) = cbar.Name
cbar.Visible = False
End If
End If
Next cbar
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' La barre des menus, la barre de formule, et la barre d'état,
' désactivées dans le Workbook_Open(),
' sont restituées par le QuitPrg()
Lign = 1
TBar = Sheets("StockBarOut").Cells(Lign, 1)
Do While TBar <> ""
Application.CommandBars(TBar).Visible = True
Lign = Lign + 1
TBar = Sheets("StockBarOut").Cells(Lign, 1)
Loop
End Sub
'===============================
'Dans un module du classeur (affectée à un bouton de commande)
Sub QuitPrg()
' Attention, les modifications du classeur en quittant
' ne sont pas SAUVEGARDEES
Reponse = MsgBox("Voulez-vous réellement quitter ce classeur ?", _
vbYesNo + vbQuestion, "Fermeture du programme")
If Reponse <> vbYes Then Exit Sub
Application.ScreenUpdating = False
With Application
.CommandBars(1).Enabled = True
.DisplayFormulaBar = True
.DisplayStatusBar = True
End With
ThisWorkbook.Saved = True
Application.DisplayAlerts = False
ThisWorkbook.Close
End Sub |
Partager