On peut souhaiter désactiver la commande d'un menu pour forcer l'utilisateur à utiliser une autre commande dans le cadre d'un document personnalisé.
Pour cela il suffit de connaitre l'identifiant de la commande à désactiver.
Pour connaitre l'identifiant utilisez le script 1 et adaptez le à votre besoin.
Un fois l'identifiant connu, utilisez le script 2 à placer dans la procédure Document_Open() du module ThisDocument.
Source / Exemple :
' Script 1
Sub Script1()
Dim mcd As CommandBar
Dim mmm
Dim nnn
Set mcd = Application.CommandBars.ActiveMenuBar
For Each mmm In mcd.Controls
' Si menu Outils
If mmm.ID = 30007 Then
' affiche toutes les commandes
For Each nnn In mmm.Controls
Debug.Print nnn.ID & ":" & nnn.Caption & "/" & nnn.Type
Next
End If
Next
Set mcd = Nothing
End Sub
'Script 2
'Désactive la commande Macro du menu Outils
Dim CtlMacro As CommandBarControl
Set CtlMacro = CommandBars.FindControl(Type:=msoControlPopup, ID:=30017)
If Not CtlMacro Is Nothing Then CtlMacro.Enabled = Not CtlMacro.Enabled
Set CtlMacro = Nothing
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.