Vous pouvez utiliser l’action de macro SetMenuItem dans les bases de données de bureau Access pour définir l’état des éléments de menu (activés ou désactivés, sélectionnés ou non sélectionnés) dans les menus personnalisés ou globaux sous l’onglet Compléments .
Remarque : L’action de macro SetMenuItem fonctionne uniquement avec les menus personnalisés et globaux créés à l’aide de macros de menu. L’action de macro SetMenuItem est incluse dans Microsoft Office Access 2007 et versions ultérieures uniquement pour la compatibilité avec les versions précédentes. Il ne fonctionne pas avec la fonctionnalité barre de commande. Toutefois, vous pouvez utiliser les propriétés Enabled et State dans un module Visual Basic pour Applications (VBA) pour désactiver ou activer et sélectionner ou désélectionner des éléments dans des menus contextuels ou des menus personnalisés ou globaux.
Paramètre
L’action de macro SetMenuItem contient les arguments suivants.
Argument de l’action |
Description |
Menu Index |
Index du menu qui contient la commande pour laquelle vous souhaitez définir l’état. Entrez une valeur entière, à partir de 0, pour l’index du menu souhaité dans le menu personnalisé ou global. Entrez la valeur d’index dans la zone Index du menu de la section Arguments de l’action de la fenêtre de conception de macro. L’index est relatif à la position du menu dans la macro de menu pour le menu personnalisé ou global (position de l’action de macro AjouterMenu de ce menu dans la macro de menu, en comptant à partir de 0). L’affichage du menu peut être quelque peu différent, car vous pouvez utiliser des expressions conditionnelles dans la macro de menu pour masquer ou afficher des éléments de menu personnalisés. Il s’agit d’un argument obligatoire. Si vous sélectionnez un menu avec cet argument et laissez les arguments Index de commande et Index de sous-commande vides, vous pouvez activer ou désactiver le nom du menu lui-même. Toutefois, vous ne pouvez pas sélectionner ou désélectionner un nom de menu (Access ignore les paramètres Vérifier et Désactiver pour l’argument Indicateur pour les noms de menu). |
Index de commande |
Index de la commande pour laquelle vous souhaitez définir l’état. Entrez une valeur entière, à partir de 0, pour l’index de la commande souhaitée dans le menu sélectionné par l’argument Index du menu . L’index est relatif à la position de la commande dans le groupe de macros qui définit le menu sélectionné pour le menu personnalisé ou global (position de la macro de cette commande dans le groupe de macros, à partir de 0). L’affichage du menu peut être quelque peu différent, car vous pouvez utiliser des expressions conditionnelles dans le groupe de macros du menu pour masquer ou afficher des commandes de menu personnalisées. |
Index de sous-commande |
Index de la sous-commande pour laquelle vous souhaitez définir l’état. Cela s’applique uniquement si la commande souhaitée a un sous-menu. Entrez une valeur entière, à partir de 0, pour l’index de la sous-commande souhaitée dans le sous-menu sélectionné par l’argument Index de commande . L’index est relatif à la position de la sous-commande dans le groupe de macros qui définit le sous-menu sélectionné pour le menu personnalisé ou global (la position de la macro de cette sous-commande dans le groupe de macros, en comptant 0). |
Indicateur |
État sur lequel vous souhaitez définir la commande ou la sous-commande. Cliquez sur Gris (pour désactiver la commande , elle apparaît grisée), Ungray (pour l’activer), Vérifier (pour placer un case activée par la commande , indiquant généralement qu’elle a été sélectionnée ou basculée) ou Décocher (pour supprimer la case activée). La valeur par défaut est Ungray. |
Remarques
L’action de macro SetMenuItem fonctionne uniquement sur un menu personnalisé ou global. Si la fenêtre active n’a pas de menu personnalisé ou global, l’exécution d’une macro contenant l’action de macro SetMenuItem entraîne une erreur d’exécution.
Vous pouvez utiliser cette action pour définir l’état des commandes de menu et des sous-commandes, mais pas des sous-commandes des sous-commandes.
Pour exécuter l’action de macro SetMenuItem dans un module Visual Basic pour Applications (VBA), utilisez la méthode SetMenuItem de l’objet DoCmd .