D
Dagada75
Guest
Salut à tous !
Il m'arrive une "broutille" .... gênante les 10 premières minutes et ...####!!!**** à la longue !
)
Voilà ... j'aie voulu sécuriser au mieux un fichier excel destiné à des utilisateurs finaux en MASQUANT le menu !
J'ai ainsi trouvé le superbe fil :
Le code suivant permet de faire cela. Il est à coller dans le module
ThisWorkbook du classeur Document2. Attention, la ligne suivante
*************************
Dim Barres As Collection
doit se trouver en début de module, avant la première procédure, mais après
les éventuelles lignes Option Explicit et Option Base
Private Sub Workbook_Activate()
Dim Barre As CommandBar
Set Barres = New Collection
For Each Barre In Application.CommandBars
If Barre.Visible = True And _
Barre.Name <> "Worksheet Menu Bar" Then
Barres.Add Barre.Name
Barre.Visible = False
End If
Next Barre
Application.CommandBars("worksheet menu bar").Enabled = False
End Sub
Private Sub Workbook_Deactivate()
Dim Barre As Variant
For Each Barre In Barres
Application.CommandBars(Barre).Visible = True
Next Barre
Application.CommandBars("worksheet menu bar").Enabled = True
End Sub
Fonctionnement :
A l'activation du classeur, Excel remplit une collection avec les noms des
barres visibles, sauf la barre de menu, puis rend ces barres invisibles. La
barre de menu est désactivée en fin de macro.
A la désactivation du classeur, excel scanne la collection et rend visible
les différentes barres qui la composent, puis la barre de menu est
réactivée.
*****************
SAUF QUE, voulant la joué fine et sécuriser un MAX mon fichier (!!!!!!), je n'aie pas copié la deuxième partie du code pour réactiver la barre à clôture de mon fichier !!
Résultat (j'en vois qui RIGOLE !!) : bah à tout mes fichiers excel que j'ouvre, je n'aie plus de barre de menu donc, ENTRE AUTRE, impossible de corriger mon erreur car le visual basic editor est INACESSIBLE ! je ne peux plus rien faire quoi !
c'est le mégabooooooooooordel !
(
QUi peut m'aidez ???
Il m'arrive une "broutille" .... gênante les 10 premières minutes et ...####!!!**** à la longue !
Voilà ... j'aie voulu sécuriser au mieux un fichier excel destiné à des utilisateurs finaux en MASQUANT le menu !
J'ai ainsi trouvé le superbe fil :
Le code suivant permet de faire cela. Il est à coller dans le module
ThisWorkbook du classeur Document2. Attention, la ligne suivante
*************************
Dim Barres As Collection
doit se trouver en début de module, avant la première procédure, mais après
les éventuelles lignes Option Explicit et Option Base
Private Sub Workbook_Activate()
Dim Barre As CommandBar
Set Barres = New Collection
For Each Barre In Application.CommandBars
If Barre.Visible = True And _
Barre.Name <> "Worksheet Menu Bar" Then
Barres.Add Barre.Name
Barre.Visible = False
End If
Next Barre
Application.CommandBars("worksheet menu bar").Enabled = False
End Sub
Private Sub Workbook_Deactivate()
Dim Barre As Variant
For Each Barre In Barres
Application.CommandBars(Barre).Visible = True
Next Barre
Application.CommandBars("worksheet menu bar").Enabled = True
End Sub
Fonctionnement :
A l'activation du classeur, Excel remplit une collection avec les noms des
barres visibles, sauf la barre de menu, puis rend ces barres invisibles. La
barre de menu est désactivée en fin de macro.
A la désactivation du classeur, excel scanne la collection et rend visible
les différentes barres qui la composent, puis la barre de menu est
réactivée.
*****************
SAUF QUE, voulant la joué fine et sécuriser un MAX mon fichier (!!!!!!), je n'aie pas copié la deuxième partie du code pour réactiver la barre à clôture de mon fichier !!
Résultat (j'en vois qui RIGOLE !!) : bah à tout mes fichiers excel que j'ouvre, je n'aie plus de barre de menu donc, ENTRE AUTRE, impossible de corriger mon erreur car le visual basic editor est INACESSIBLE ! je ne peux plus rien faire quoi !
c'est le mégabooooooooooordel !
QUi peut m'aidez ???