Créer des menus et des menus contextuels personnalisés à l’aide de macros

Remarque : Nous faisons de notre mieux pour vous fournir le contenu d’aide le plus récent aussi rapidement que possible dans votre langue. Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez-vous nous indiquer en bas de page si ces informations vous ont aidé ? Voici l’article en anglais à des fins de référence aisée.

Vous pouvez utiliser les macros Access pour créer des menus contextuels personnalisés qui s'affichent lorsque vous cliquez avec le bouton droit sur des formulaires, États ou contrôles individuels. Vous pouvez également créer des menus personnalisés qui s'affichent dans le ruban pour les formulaires ou États spécifiques.

Pour créer un menu à l'aide de macros, vous devez effectuer les trois étapes principales suivantes:

  1. Créer un objet macro avec des sous-macros contenant les commandes de menu.

  2. Créez un autre objet macro qui crée le menu lui-même.

  3. Joignez le menu à un contrôle, un formulaire, un État ou une base de données entière.

Les sections suivantes vous décrivent en détail ces étapes.

Remarque : Vous utilisez Access 2007? Si tel est le cas, passez à la section créer des menus contextuels personnalisés dans Access 2007.

Conseil : Pour savoir comment créer des menus contextuels personnalisés dans Access à l'aide d'un code Visual Basic pour applications (VBA), voir l'article créer un menu contextuel pour un formulaire, un contrôle de formulaire ou un rapport.

Étape 1: créer un objet macro avec des sous-macros contenant les commandes de menu

Dans cette étape, vous allez créer un objet macro avec des sous-macros, chacune d'elles qui sera une commande séparée dans le menu contextuel.

Qu'est-ce qu'une sous-macro?

Vous pouvez utiliser une sous-macro dans un objet macro pour définir un ensemble d'actions de macro. Les sous-macros d'un objet macro peuvent être appelées indépendamment des différents événements de contrôle et d'objet. Les sous-macros individuelles au sein d'un objet macro portent chacune leur nom unique et peuvent contenir une ou plusieurs actions de macro.

  1. Sous l’onglet Créer, accédez au groupe Macros et code, puis cliquez sur Macro.

  2. Pour chaque commande de votre choix dans le menu conTextuel personnalisé:

    1. Ajoutez une instruction de macro sous-macro à la fenêtre de création de macro, puis nommez la sous-macro ce que vous voulez afficher dans le menu contextuel (par exemple, «imprimer» ou «actualiser»).

      Conseil : Pour créer une touche d'accès pour que vous puissiez utiliser le clavier pour choisir la commande, tapez un signe «&» avant la lettre que vous souhaitez utiliser comme touche d'accès pour le nom de la commande (par exemple, «&Refresh»). Cette lettre sera soulignée dans le menu.

    2. Dans la sous-macro, sélectionnez la première action que vous voulez effectuer lorsque vous cliquez sur la commande dans le menu contextuel.

    3. S'il existe d'autres actions que vous souhaitez appliquer lorsque vous sélectionnez cette commande, ajoutez-les en tant que tâches de macro distinctes au sein de la même sous-macro.

  3. Enregistrez et nommez l'objet macro, par exemple, mcrShortcutMenuCommands.

    L'illustration suivante montre un exemple d'objet macro avec trois sous-macros pour un menu personnalisé ou un menu contextuel.

    Capture d'écran de la fenêtre de création de macro Access avec trois instructions de sous-macro.

Étape 2: créer un second objet macro qui crée le menu

Cette étape peut sembler redondante, mais pour créer le menu contextuel à partir de l'objet macro que vous avez créé à l'étape 1, vous devez créer un second objet macro contenant l' action de macro AjouterMenu. Cette action de macro est parfois appelée «macro de menu».

  1. Sous l’onglet Créer, accédez au groupe Macros et code, puis cliquez sur Macro.

  2. Dans la zone de liste modifiable Ajouter une nouvelle action dans la fenêtre de création de macro, sélectionnez AddMenu.

  3. Dans la zone d'argument nom du menu pour l'action de macro AjouterMenu , tapez le nom du menu (par exemple, «commandes de formulaire»). Cet argument n'est pas obligatoire, mais est recommandé si, à l'étape 3, vous envisagez d'ajouter le menu à un onglet du ruban (par exemple, l'onglet Compléments d'un formulaire ou État). Si le menu est ajouté sous la forme d'un menu contextuel à l'étape 3, l'argument nom du menu est ignoré.

  4. Dans la zone d'argument nom de la macro , entrez le nom de l'objet macro que vous avez créé à l'étape 1.

  5. Enregistrez et nommez ce deuxième objet macro, par exemple, mcrAddShortcutMenu.

    L'illustration suivante montre un exemple d'objet de macro de menu qui crée le menu que nous avons créé à l'étape 1.

    Capture d'écran d'un objet macro Access avec une action de macro AjouterMenu.

Étape 3: joindre le menu à un contrôle, un formulaire, un État ou une base de données

En fonction de l'endroit où vous voulez insérer le menu, utilisez une ou plusieurs des procédures suivantes.

Ajouter le menu à l'onglet Compléments d'un formulaire ou d'un État

Utilisez cette procédure si vous voulez que le menu apparaisse sous l'onglet Compléments pour un formulaire ou un état spécifique.

  1. Dans le volet de navigation, cliquez avec le bouton droit sur le formulaire ou l'État dans lequel vous souhaitez que le menu apparaisse, puis cliquez sur mode création.

  2. Sous l’onglet Créer, dans le groupe Outils, cliquez sur Feuille de propriétés.

  3. Sélectionnez l'intégralité de l'objet en sélectionnant formulaire ou État dans la liste en haut du volet Office feuille de propriétés.

  4. Dans l'onglet autre de la feuille de propriétés, dans la zone de propriété barre de menu , tapez le nom de l'objet macro que vous avez créé à l'étape 2 (dans cet exemple, «mcrAddShortcutMenu»).

  5. Enregistrez vos modifications de formulaire ou d'État.

    La prochaine fois que vous ouvrez le formulaire ou l'état , l'onglet Compléments s'affiche dans le ruban. Cliquez sur l'onglet pour afficher le menu, comme le montre l'illustration suivante:

    Capture d'écran du ruban compléments dans Access

    Pour plus d'informations sur les techniques de personnalisation du ruban, telles que l'ajout d'onglets personnalisés ou le masquage des onglets par défaut, voir l'article créer un ruban personnalisé dans Access.

Ajouter le menu en tant que menu contextuel d'un formulaire, d'un État ou d'un contrôle

Utilisez cette procédure si vous souhaitez que le menu s'affiche lorsque vous cliquez avec le bouton droit sur un formulaire, un État ou un contrôle spécifique.

  1. Dans le volet de navigation, cliquez avec le bouton droit sur le formulaire ou l'État dans lequel vous souhaitez afficher le menu contextuel, puis cliquez sur mode création.

  2. Sous l’onglet Créer, dans le groupe Outils, cliquez sur Feuille de propriétés.

  3. Sélectionnez le contrôle ou l'objet auquel vous souhaitez associer le menu contextuel.

    Pour sélectionner l'objet entier, sélectionnez formulaire ou rapport dans la liste en haut du volet Office feuille de propriétés.

  4. Dans l'onglet autre de la feuille de propriétés, dans la zone de propriété barre de menu contextuel , tapez le nom de l'objet de macro que vous avez créé à l'étape 2 (dans cet exemple, «mcrAddShortcutMenu»).

  5. Assurez-vous que la propriété de menu contextuel est définie sur Oui.

  6. Enregistrez vos modifications de formulaire ou d'État.

    La prochaine fois que vous ouvrez le formulaire ou l'État, puis cliquez avec le bouton droit sur le formulaire, l'État ou le contrôle, un menu contextuel s'affiche avec les commandes associées, comme le montre l'illustration suivante:

    Capture d'écran d'un menu contextuel dans un formulaire Access

Ajouter le menu en tant que menu contextuel global

Cette procédure remplace tous les menus contextuels par défaut dans la base de données active. Les menus contextuels personnalisés que vous avez attachés à des formulaires, États ou contrôles spécifiques ne sont pas concernés.

  1. Cliquez sur Fichier > Options.

  2. Dans la boîte de dialogue Options Access, cliquez sur Base de données active.

  3. Sous Options du ruban et de la barre d'outils, dans la zone barre de menu contextuel , tapez le nom de la macro que vous avez créée à l'étape 2 (dans cet exemple, «mcrAddShortcutMenu»).

  4. Cliquez sur OK pour enregistrer vos modifications dans la boîte de dialogue Options Access .

  5. Fermez et rouvrez votre base de données pour que les modifications prennent effet.

Les menus contextuels personnalisés remplacent les menus contextuels par défaut pour les objets auxquels ils sont liés. Si vous souhaitez conserver certaines commandes Access à utiliser dans ces menus, utilisez l'action de macro ExécuterCommande pour placer les commandes dans les objets de macro pour les menus dans lesquels vous voulez les insérer.

Un menu contextuel personnalisé attaché à un contrôle remplace tout autre menu de raccourcis personnalisé défini dans la base de données. Un menu contextuel personnalisé attaché à un formulaire ou à un État remplace un menu contextuel global personnalisé.

Lorsque vous spécifiez une macro de menu pour un formulaire ou un État ou pour la base de données, Access exécute cette macro de menu chaque fois que le formulaire, l'État ou la base de données est ouvert. Si vous apportez des modifications à l'objet macro de menu ou à l'objet macro qui définit ses commandes lorsque le formulaire, l'État ou la base de données est ouvert, vous devez fermer le formulaire, l'État ou la base de données, puis le rouvrir pour afficher les modifications.

Pour créer un sous-menu dans une liste de commandes de menu contextuel, suivez l'étape 1 pour créer un objet macro distinct contenant uniquement les commandes du sous-menu, comme le montre l'illustration suivante:

Capture d'écran d'une macro dans Access avec deux sous-macros

Ensuite, suivez de nouveau l'étape 1 pour définir les commandes de l'objet de menu de niveau supérieur. Ajoutez le sous-menu comme élément dans l'objet macro de niveau supérieur à l'aide de l'action de macro AjouterMenu . L'illustration suivante montre l'objet macro d'un menu contenant un sous-menu. La troisième sous-macro de cet exemple d'objet macro crée le sous-menu Exporter vers.. . (mcrShortcutSubMenuCommands).

Capture d'écran d'une macro Access avec quatre sous-macros

L'illustration suivante montre le menu contextuel obtenu avec un sous-menu:

Capture d'écran d'un menu contextuel avec un sous-menu

Vous pouvez créer plusieurs niveaux de sous-menus en utilisant les actions de macro AjouterMenu dans les objets macro pour chaque niveau de menu. Veillez à fournir une valeur pour l'argument nom du menu pour chaque action AjouterMenu , sinon le sous-menu s'affichera sous la forme d'une ligne vide dans le menu de niveau supérieur.

Les conditions d'expression de macro utilisant des blocs si/Then/Else sont uniquement pris en charge dans l'objet macro de menu de niveau supérieur. En d'autres termes, vous pouvez utiliser une expression de condition dans un objet macro de menu pour déterminer si un menu ou un menu contextuel particulier est affiché, mais uniquement pour les menus situés au niveau supérieur. Vous ne pouvez pas utiliser d'expressions de condition pour afficher ou masquer des commandes ou des sous-menus dans les menus. Vous pouvez également utiliser une expression de condition pour masquer ou afficher un menu contextuel personnalisé ou un menu contextuel global.

Le cas échéant, la macro de menu créée à l'étape 2 peut faire partie d'un objet macro. Par exemple, si vous avez plusieurs menus contextuels pour différents objets ou contrôles, vous pouvez créer un objet macro unique contenant toutes les macros de menu nécessaires. Assurez-vous d'avoir un nom unique pour chaque sous-macro. À l'étape 3, utilisez la notation suivante pour faire référence à la macro: MacroObjectName. SubmacroName. Par exemple, mcrAddShortcutMenus. AddMenu2.

Haut de la page

Créer des menus contextuels personnalisés dans Access 2007

La fenêtre de création de macro est différente dans Access 2007 par rapport aux versions ultérieures, alors développez les sections suivantes pour suivre si vous utilisez Access 2007.

Dans cette étape, vous allez créer un groupe de macros, qui sera une commande séparée dans le menu contextuel.

Qu'est-ce qu'un groupe de macros?

Un groupe de macros est un objet macro unique contenant au moins deux macros indépendantes. Pour identifier les différentes macros, vous devez taper un nom pour chacune d'elles dans la colonne noms de macros. Dans l'illustration suivante, Macro3 est un groupe de macros. NotFoundMsg et FoundMsg sont des macros individuelles au sein du groupe, chaque macro se compose de deux actions de macro.

Exemple de groupe de macros

Remarque : Par défaut, la colonne nom de la macro est masquée. Pour afficher la colonne nom de la macro , sous l'onglet création , dans le groupe Afficher/masquer , cliquez sur noms des macros.

  1. Sous l’onglet Créer, dans le groupe Autre, cliquez sur Macro. Si cette commande n’est pas disponible, cliquez sur la flèche se trouvant sous le bouton Module ou Module de classe, puis cliquez sur Macro.

  2. Dans l'onglet création , dans le groupe Afficher/masquer , cliquez sur noms des macros pour afficher la colonne nom de la macro .

  3. Pour chaque commande de votre choix dans le menu conTextuel personnalisé:

    • Dans la colonne nom de la macro , entrez le texte que vous voulez afficher dans le menu contextuel (par exemple, «imprimer l'État» ou «enregistrer»).

      1. Remarque : Pour créer une touche d'accès pour que vous puissiez utiliser le clavier pour choisir la commande, tapez un signe «&» avant la lettre que vous souhaitez utiliser comme touche d'accès pour le nom de la commande (par exemple, «&Save»). Cette lettre sera soulignée dans le menu.

    • Dans la colonne action , sélectionnez la première action que vous souhaitez effectuer lorsque vous cliquez sur la commande dans le menu contextuel.

    • S'il existe d'autres actions que vous souhaitez appliquer lorsque vous sélectionnez cette commande, ajoutez-les sur les lignes suivantes. Pour chaque action suivante, laissez vide la cellule nom de la macro .

      1. Remarque : Pour créer une ligne entre deux commandes de menu, tapez un trait d'Union (-) dans la colonne nom de la macro , entre les commandes de menu appropriées.

  4. Enregistrez et nommez la macro, par exemple, mcrShortcutMenuCommands.

L'illustration suivante montre un exemple de groupe de macros d'un menu personnalisé ou d'un menu contextuel.

Groupe de macros d’un menu en mode Création

Cette étape peut sembler redondante, mais pour créer le menu contextuel à partir du groupe de macros que vous avez créé à l'étape 1, vous devez créer une deuxième macro contenant l'action de macro AjouterMenu . Cette macro est parfois appelée «macro de menu».

  1. Sous l’onglet Créer, dans le groupe Autre, cliquez sur Macro. Si cette commande n’est pas disponible, cliquez sur la flèche se trouvant sous le bouton Module ou Module de classe, puis cliquez sur Macro.

  2. Sur la première ligne de la macro, sélectionnez AddMenu dans la liste action .

  3. Sous arguments d'action, dans la zone nom du menu , tapez le nom du menu (par exemple, «commandes de rapport»). Cet argument n'est pas obligatoire, mais est recommandé si, à l'étape 3, vous envisagez d'ajouter le menu à un onglet du ruban (par exemple, l'onglet Compléments d'un formulaire ou État). Si le menu est ajouté sous la forme d'un menu contextuel à l'étape 3, l'argument nom du menu est ignoré.

  4. Dans la zone nom de la macro , entrez le nom de la macro que vous avez créée à l'étape 1.

  5. Enregistrez et nommez la macro, par exemple, mcrAddShortcutMenu.

L'illustration suivante montre un exemple de macro de menu qui crée le menu que nous avons créé à l'étape 1.

Macro de menu en mode Création

En fonction de l'endroit où vous voulez insérer le menu, utilisez une ou plusieurs des procédures suivantes.

  • Ajouter le menu à l'onglet Compléments d'un formulaire ou d'un État

    Utilisez cette procédure si vous voulez que le menu apparaisse sous l'onglet Compléments pour un formulaire ou un état spécifique, comme le montre l'illustration suivante:

    Onglet Macros complémentaires contenant un menu personnalisé

    1. Dans le volet de navigation, cliquez avec le bouton droit sur le formulaire ou l'État dans lequel vous souhaitez que le menu apparaisse, puis cliquez sur mode création.

    2. Sous l’onglet Création, dans le groupe Afficher/Masquer, cliquez sur Feuille de propriétés.

    3. Sélectionnez l'intégralité de l'objet en sélectionnant formulaire ou État dans la liste en haut du volet Office feuille de propriétés.

    4. Dans l'onglet autre de la feuille de propriétés, dans la zone de propriété menu contextuel , tapez le nom de la macro que vous avez créée à l'étape 2 (dans cet exemple, «mcrAddShortcutMenu»).

      La prochaine fois que vous ouvrez le formulaire ou l'état , l'onglet Compléments s'affiche dans le ruban. Cliquez sur l'onglet pour afficher le menu.

      Pour plus d'informations sur les techniques de personnalisation du ruban, telles que l'ajout d'onglets personnalisés ou le masquage des onglets par défaut, voir l'article créer un ruban personnalisé dans Access.

      Le ruban est un élément de l’Interface utilisateur Microsoft Office Fluent.

  • Ajouter le menu en tant que menu contextuel d'un formulaire, d'un État ou d'un contrôle

    Utilisez cette procédure si vous souhaitez que le menu s'affiche lorsque vous cliquez avec le bouton droit sur un formulaire, un État ou un contrôle spécifique, comme le montre l'illustration suivante:

    Menu contextuel simple

    1. Dans le volet de navigation, cliquez avec le bouton droit sur le formulaire ou l'État dans lequel vous souhaitez afficher le menu contextuel, puis cliquez sur mode création.

    2. Sous l’onglet Création, dans le groupe Afficher/Masquer, cliquez sur Feuille de propriétés.

    3. Sélectionnez le contrôle ou l'objet auquel vous souhaitez associer le menu contextuel.

      Remarque : Pour sélectionner l'objet entier, sélectionnez formulaire ou rapport dans la liste en haut du volet Office feuille de propriétés.

    4. Dans l'onglet autre de la feuille de propriétés, dans la zone de propriété barre de menu contextuel , tapez le nom de la macro que vous avez créée à l'étape 2 (dans cet exemple, «mcrAddShortcutMenu»).

  • Ajouter le menu en tant que menu contextuel global

    Cette procédure remplace tous les menus contextuels par défaut dans la base de données active. Les menus contextuels personnalisés que vous avez attachés à des formulaires, États ou contrôles spécifiques ne sont pas concernés.

    1. Cliquez sur le bouton Microsoft Office , puis sur Options Access.

    2. Dans la boîte de dialogue Options Access, cliquez sur Base de données active.

    3. Sous Options du ruban et de la barre d'outils, dans la zone barre de menu contextuel , tapez le nom de la macro que vous avez créée à l'étape 2 (dans cet exemple, «mcrAddShortcutMenu»).

  • Les menus contextuels personnalisés remplacent les menus contextuels par défaut pour les objets auxquels ils sont liés. Si vous souhaitez conserver certaines commandes Access à utiliser dans ces menus, utilisez l'action ExécuterCommande pour placer les commandes dans les groupes de macros pour les menus dans lesquels vous souhaitez les utiliser.

  • Un menu contextuel personnalisé attaché à un contrôle remplace tout autre menu de raccourcis personnalisé défini dans la base de données. Un menu contextuel personnalisé attaché à un formulaire ou à un État remplace un menu contextuel global personnalisé.

  • Lorsque vous spécifiez une macro de menu pour un formulaire ou un État ou pour la base de données, Access exécute cette macro de menu chaque fois que le formulaire, l'État ou la base de données est ouvert. Si vous apportez des modifications à la macro de menu ou au groupe de macros qui définit ses commandes lorsque le formulaire, l'État ou la base de données est ouvert, vous devez fermer le formulaire, l'État ou la base de données, puis les rouvrir pour afficher les modifications.

  • Pour créer un sous-menu, suivez l'étape 1 pour créer un groupe de macros distinct contenant uniquement les commandes du sous-menu. Ensuite, suivez de nouveau l'étape 1 pour définir les commandes du menu de niveau supérieur. Ajoutez le sous-menu comme élément dans le groupe de macros de niveau supérieur à l'aide de l'action de macro AjouterMenu . Dans l'illustration suivante, le groupe de macros d'un menu contenant un sous-menu est affiché, puis le menu contextuel qui s'affiche. La troisième ligne du groupe de macros entraîne la création du sous-menu Exporter vers.. . (mcrSubMenu).

    Menu contextuel contenant un sous-menu

    Vous pouvez créer plusieurs niveaux de sous-menus en utilisant les actions AddMenu dans les groupes de macros pour chaque niveau de menu. Veillez à fournir une valeur pour l'argument nom du menu pour chaque action AjouterMenu , sinon le sous-menu s'affichera sous la forme d'une ligne vide dans le menu de niveau supérieur.

  • Les conditions de macro ne sont prises en charge que dans la macro de menu de niveau supérieur. En d'autres termes, vous pouvez utiliser une condition dans une macro de menu pour déterminer si un menu ou un menu contextuel particulier est affiché, mais uniquement pour les menus situés au niveau supérieur. Vous ne pouvez pas utiliser de conditions pour afficher ou masquer des commandes ou des sous-menus dans les menus. Vous pouvez également utiliser une condition pour masquer ou afficher un menu contextuel personnalisé ou un menu contextuel global.

  • Le cas échéant, la macro de menu créée à l'étape 2 peut faire partie d'un groupe de macros. Par exemple, si vous avez plusieurs menus contextuels pour différents objets ou contrôles, vous pouvez créer un objet macro unique contenant toutes les macros de menu nécessaires. Veillez à afficher la colonne nom de la macro , puis tapez un nom unique pour chaque macro. À l'étape 3, utilisez la notation suivante pour faire référence à la macro suivante: nomgroupemacro. macroname. Par exemple, mcrAddShortcutMenus. AddMenu2.

Haut de la page

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×