masquer Protection dans Menu Outils

Staple1600

XLDnaute Barbatruc
Bonjour

Je remets ici la reponse que j'avais donné
(je ne me souviens plus de l'auteur du post)

Info trouvé ici:
Comment personnaliser des menus et une barre de menus dans Excel

Code:
Sub Id_Control()
Dim myId As Object
   Set myId = CommandBars("Worksheet Menu Bar").Controls("Outils")
   MsgBox myId.Caption & Chr(13) & myId.ID
End Sub

Sub Menu_Disable()
   CommandBars("Worksheet menu bar").Controls("Outils").Enabled = False
End Sub
Sub Menu_Enable()
   CommandBars("Worksheet menu bar").Controls("Outils").Enabled = True
End Sub

Sub MenuItem_Disable()
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Outils")
   myCmd.Controls("Protection").Enabled = False
End Sub

Sub MenuItem_Enable()
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Outils")
   myCmd.Controls("Protection").Enabled = True
End Sub
 
Dernière édition:

mmaatthh

XLDnaute Nouveau
Re : masquer Protection dans Menu Outils

Merci Staple1600

Oui, mais il t a un IK! j'ai modifier un peu pour donner ceci. Le tout fonctionne très bien quand les macros sont dans un module.

'Celle-ci desactive le menu Outils
Sub Menu_Disable()
CommandBars("Worksheet menu bar").Controls("Outils").Controls("Protection").Enabled = False
End Sub

'Celle-la le réactive
Sub Menu_Enable()
CommandBars("Worksheet menu bar").Controls("Outils").Controls("Protection").Enabled = True
End Sub

Cependant lorsque je mets les instructions dans le Thiswork open ou before_close j'ai un message d'erreur!


Private Sub Workbook_Open()
CommandBars("Worksheet menu bar").Controls("Outils").Controls("Protection").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Unprotect
Cells.Select
Selection.Locked = True
Selection.FormulaHidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
CommandBars("Worksheet menu bar").Controls("Outils").Controls("Protection").Enabled = True
End Sub

Ps:Oui c'est moi qui est lancé cette discution

MMaatthh
 

Staple1600

XLDnaute Barbatruc
Re : masquer Protection dans Menu Outils

Bonsoir

Code:
Sub MenuItem_Disable()
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Outils")
   myCmd.Controls("Protection").Enabled = False
End Sub
Sub MenuItem_Enable()
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Outils")
   myCmd.Controls("Protection").Enabled = True
End Sub


Private Sub Workbook_Open()
MenuItem_Disable
End Sub

De cette facon ca fonctionne (en tout cas sur mon poste)
 

mmaatthh

XLDnaute Nouveau
Re : masquer Protection dans Menu Outils

Encore un gros merci Staple1600

Le tout est à ma convenance.

Petite question générale. Pourquoi si j'inscrie le code dans workbook open cela ne fonctionne pas et lorque l'on donne le nom de la macro à exécuter qui est dans un module cela fonctionne?

Private Sub Workbook_Open()
MenuItem_Disable
End Sub

Fonctionne bien mais

Private Sub Workbook_Open()
Dim myCmd As Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("Outils")
myCmd.Controls("Protection").Enabled = False
End Sub

Ne fonctionne pas.

Il y a une mécanique que je ne comprend pas!

Mmaatthh
 

Discussions similaires

Statistiques des forums

Discussions
314 651
Messages
2 111 553
Membres
111 199
dernier inscrit
mavoungou regis