Désactiver une commande de menu XL

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

Robert
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #5004191
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




Robert
Le #5004181
Merci Steph,
J'essaie tout de suite!

"LSteph" 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





Gérard Ducouret
Le #5004171
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" 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





Mgr Banni
Le #5004151
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" 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" 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








LSteph
Le #5004141
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
Robert
Le #5003911
Merci Mgr, mon voeu a été exaucé.
Que Saint Bill soit avec vous !

"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" 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" 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












Mgr Banni
Le #5003891
:-))))

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

"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" 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" 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
















Publicité
Poster une réponse
Anonyme