masquer Protection dans Menu Outils

  • Initiateur de la discussion Initiateur de la discussion Staple1600
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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
 
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)
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
367
Retour