Monsieur Excel
Pour tout savoir faire sur Excel !

22 août 2009

Blocages pour le menu « Fichier »

Nous avons vu il y a cinq jours comment désactiver temporairement les commandes d’impression du menu « Fichier ». Aujourd’hui, nous testons deux petites macros qui servent à désactiver ou à réactiver séparément telle ou telle commande du menu « Fichier ».

Voici le code des macros qui permettent d'atteindre notre objectif :

Sub One_Activate()
Call OneControl(Range("Test").Value, False)
End Sub

Sub One_Deactivate()
Call OneControl(Range("Test").Value, True)
End Sub

Sub OneControl(ID As Integer, Setting As Boolean)
Dim loectrl As Office.CommandBarControl
For Each loectrl In Application.CommandBars.FindControls(ID:=ID)
loectrl.Enabled = Setting
Next loectrl
End Sub


Et voici la liste des commandes et des codes :

Il suffit d’entrer en C1 – qui porte le nom « Test » – le code désiré puis d’utiliser les deux boutons pour désactiver ou réactiver la commande concernée.

Remarque 1 – J’ai donné un fond jaune aux deux codes, que j’ai récupérés sur Internet comme les autres, qui ne semblent pas marcher chez moi. Quelqu’un a-t-il la solution ?

Remarque 2 – Dans la liste ci-dessus, j'ai oublié le tout dernier : le code 752 correspond à la commande « Quitter » et le code 30.002 permet quant à lui de désactiver le menu « Fichier » lui-même...