Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Désactiver une commande de menu XL

7 réponses
Avatar
Robert
Bonsoir,
En VBA, je voudrais désactiver, griser (pour la rendre inaccessible) la
commande de menu Excel : Outils / Options...
Comment faire ?
Merci

Robert

7 réponses

Avatar
LSteph
Bonsoir,

Ceci bascule l'état de Options dans Outils:

Sub affctl()
Dim Tm, ctl
Set Tm = Application.CommandBars(1).FindControl(ID:0007)
For Each ctl In Tm.Controls
If ctl.ID = 522 Then
ctl.Enabled = Not ctl.Enabled
End If
Next

End Sub

'lSteph


Bonsoir,
En VBA, je voudrais désactiver, griser (pour la rendre inaccessible) la
commande de menu Excel : Outils / Options...
Comment faire ?
Merci

Robert




Avatar
Robert
Merci Steph,
J'essaie tout de suite!

"LSteph" a écrit dans le message de news:
eN$
Bonsoir,

Ceci bascule l'état de Options dans Outils:

Sub affctl()
Dim Tm, ctl
Set Tm = Application.CommandBars(1).FindControl(ID:0007)
For Each ctl In Tm.Controls
If ctl.ID = 522 Then
ctl.Enabled = Not ctl.Enabled
End If
Next

End Sub

'lSteph


Bonsoir,
En VBA, je voudrais désactiver, griser (pour la rendre inaccessible) la
commande de menu Excel : Outils / Options...
Comment faire ?
Merci

Robert





Avatar
Gérard Ducouret
Super, ça marche!
Mais comment et où trouver les ID 30007 et 522 ? (J'aurais besoin de
désactiver d'autres menus)
Merci encore

robert


"LSteph" a écrit dans le message de news:
eN$
Bonsoir,

Ceci bascule l'état de Options dans Outils:

Sub affctl()
Dim Tm, ctl
Set Tm = Application.CommandBars(1).FindControl(ID:0007)
For Each ctl In Tm.Controls
If ctl.ID = 522 Then
ctl.Enabled = Not ctl.Enabled
End If
Next

End Sub

'lSteph


Bonsoir,
En VBA, je voudrais désactiver, griser (pour la rendre inaccessible) la
commande de menu Excel : Outils / Options...
Comment faire ?
Merci

Robert





Avatar
Mgr Banni
bonjour robert
fais tourner cette macro due à notre ange (private sherbrooker joke) et tu
les auras tous tes IDs
HTH
Mgr T.B.

Sub Infos_CommandBars()
On Error Resume Next
Dim cb As CommandBar
Worksheets.Add
[A1] = "ID": [B1] = "Nom Local": [C1] = "VBA name"
[D1] = "Control ID": [E1] = "Control caption"
I = 2
With ActiveSheet
For Each cb In CommandBars
For Each c In cb.Controls
.Cells(I, 1).Value = cb.ID
.Cells(I, 2).Value = cb.NameLocal
.Cells(I, 3).Value = cb.Name
.Cells(I, 4).Value = c.ID
.Cells(I, 5).Value = c.Caption
I = I + 1
Next c
Next cb
Range("A:F").Columns.AutoFit
End With
End Sub

"Gérard Ducouret" a écrit dans le
message de news:
Super, ça marche!
Mais comment et où trouver les ID 30007 et 522 ? (J'aurais besoin de
désactiver d'autres menus)
Merci encore

robert


"LSteph" a écrit dans le message de news:
eN$
Bonsoir,

Ceci bascule l'état de Options dans Outils:

Sub affctl()
Dim Tm, ctl
Set Tm = Application.CommandBars(1).FindControl(ID:0007)
For Each ctl In Tm.Controls
If ctl.ID = 522 Then
ctl.Enabled = Not ctl.Enabled
End If
Next

End Sub

'lSteph


Bonsoir,
En VBA, je voudrais désactiver, griser (pour la rendre inaccessible) la
commande de menu Excel : Outils / Options...
Comment faire ?
Merci

Robert








Avatar
LSteph
Re,

De la même façon par macro tu boucles sur les ID
mais faudrait explorer chaque barre et ses sous barres

Pour la barre de menu tu as déjà cela ici:
http://dj.joss.free.fr/outil.htm

Et tu peux t'inspirer des codes sur la même page.

@+

--
lSteph
Avatar
Robert
Merci Mgr, mon voeu a été exaucé.
Que Saint Bill soit avec vous !

"Mgr Banni" a écrit dans le message de news:
%
bonjour robert
fais tourner cette macro due à notre ange (private sherbrooker joke) et tu
les auras tous tes IDs
HTH
Mgr T.B.

Sub Infos_CommandBars()
On Error Resume Next
Dim cb As CommandBar
Worksheets.Add
[A1] = "ID": [B1] = "Nom Local": [C1] = "VBA name"
[D1] = "Control ID": [E1] = "Control caption"
I = 2
With ActiveSheet
For Each cb In CommandBars
For Each c In cb.Controls
.Cells(I, 1).Value = cb.ID
.Cells(I, 2).Value = cb.NameLocal
.Cells(I, 3).Value = cb.Name
.Cells(I, 4).Value = c.ID
.Cells(I, 5).Value = c.Caption
I = I + 1
Next c
Next cb
Range("A:F").Columns.AutoFit
End With
End Sub

"Gérard Ducouret" a écrit dans le
message de news:
Super, ça marche!
Mais comment et où trouver les ID 30007 et 522 ? (J'aurais besoin de
désactiver d'autres menus)
Merci encore

robert


"LSteph" a écrit dans le message de news:
eN$
Bonsoir,

Ceci bascule l'état de Options dans Outils:

Sub affctl()
Dim Tm, ctl
Set Tm = Application.CommandBars(1).FindControl(ID:0007)
For Each ctl In Tm.Controls
If ctl.ID = 522 Then
ctl.Enabled = Not ctl.Enabled
End If
Next

End Sub

'lSteph


Bonsoir,
En VBA, je voudrais désactiver, griser (pour la rendre inaccessible) la
commande de menu Excel : Outils / Options...
Comment faire ?
Merci

Robert












Avatar
Mgr Banni
:-))))

"Robert" a écrit dans le message de news:

Merci Mgr, mon voeu a été exaucé.
Que Saint Bill soit avec vous !

"Mgr Banni" a écrit dans le message de news:
%
bonjour robert
fais tourner cette macro due à notre ange (private sherbrooker joke) et
tu les auras tous tes IDs
HTH
Mgr T.B.

Sub Infos_CommandBars()
On Error Resume Next
Dim cb As CommandBar
Worksheets.Add
[A1] = "ID": [B1] = "Nom Local": [C1] = "VBA name"
[D1] = "Control ID": [E1] = "Control caption"
I = 2
With ActiveSheet
For Each cb In CommandBars
For Each c In cb.Controls
.Cells(I, 1).Value = cb.ID
.Cells(I, 2).Value = cb.NameLocal
.Cells(I, 3).Value = cb.Name
.Cells(I, 4).Value = c.ID
.Cells(I, 5).Value = c.Caption
I = I + 1
Next c
Next cb
Range("A:F").Columns.AutoFit
End With
End Sub

"Gérard Ducouret" a écrit dans le
message de news:
Super, ça marche!
Mais comment et où trouver les ID 30007 et 522 ? (J'aurais besoin de
désactiver d'autres menus)
Merci encore

robert


"LSteph" a écrit dans le message de news:
eN$
Bonsoir,

Ceci bascule l'état de Options dans Outils:

Sub affctl()
Dim Tm, ctl
Set Tm = Application.CommandBars(1).FindControl(ID:0007)
For Each ctl In Tm.Controls
If ctl.ID = 522 Then
ctl.Enabled = Not ctl.Enabled
End If
Next

End Sub

'lSteph


Bonsoir,
En VBA, je voudrais désactiver, griser (pour la rendre inaccessible)
la commande de menu Excel : Outils / Options...
Comment faire ?
Merci

Robert