Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

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, des états ou des contrôles individuels. Vous pouvez également créer des menus personnalisés qui s’affichent sur le ruban pour des formulaires ou des états spécifiques.

Pour créer un menu à l’aide de macros, vous effectuez trois main étapes :

  1. Créez un objet macro avec submacros qui contient les commandes de menu.

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

  3. Attachez le menu à un contrôle, à un formulaire, à un état ou à la base de données dans son ensemble.

Les sections suivantes vous guident tout au long de ces étapes en détail.

Remarque : Utilisez-vous Access 2007 ? Si c’est le cas, passez à la section Créer des menus contextuels personnalisés dans Access 2007.

Conseil : Si vous souhaitez savoir comment créer des menus contextuels personnalisés dans Access à l’aide de code Visual Basic pour Applications (VBA), consultez l’article Créer un menu contextuel pour un formulaire, un contrôle de formulaire ou un état.

Étape 1 : Créer un objet macro avec des sous-macros qui contiennent les commandes de menu

Dans cette étape, vous créez un objet macro avec submacros, dont chaque sous-macro sera une commande distincte dans votre menu contextuel.

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

Vous pouvez utiliser une sous-zone dans un objet macro pour définir un ensemble d’actions de macro. Les submacros au sein d’un objet macro peuvent être appelés séparément de différents événements de contrôle et d’objet. Les sous-macros individuels d’un objet macro ont chacun un 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 souhaitée dans votre menu contextuel personnalisé :

    1. Ajoutez une instruction Macro Submacro à la fenêtre de création de macro et nommez la sous-macro ce que vous souhaitez afficher dans le menu contextuel (par exemple, « Imprimer » ou « Actualiser »).

      Conseil : Pour créer une touche d’accès afin de pouvoir utiliser le clavier pour choisir la commande, tapez une esperluette (&) devant la lettre que vous souhaitez utiliser comme touche d’accès dans le nom de la commande (par exemple, « &Actualiser »). Cette lettre sera soulignée dans le menu.

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

    3. Si vous souhaitez effectuer d’autres actions lorsque vous sélectionnez cette commande, ajoutez-les en tant qu’actions de macro distinctes dans la même sous-zone.

  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 conception de macro Access avec trois sous-instructions.

Étape 2 : Créer un deuxième 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 deuxième objet macro qui contient 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 déroulante Ajouter une nouvelle action de la fenêtre de conception de macro, sélectionnez AjouterMenu.

  3. Dans la zone Nom du menu de l’action de macro AjouterMenu , tapez le nom du menu (par exemple, « Commandes de formulaire »). Cet argument n’est pas obligatoire, mais il est recommandé si, à l’étape 3, vous envisagez d’ajouter le menu à un onglet ruban (par exemple, l’onglet Compléments d’un formulaire ou d’un état). Si le menu est ajouté en tant que menu contextuel à l’étape 3, l’argument Nom du menu est ignoré.

  4. Dans la zone Nom de la macro de menu , entrez le nom de l’objet macro que vous avez créé à l’étape 1.

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

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

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

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

Selon l’emplacement où vous souhaitez que le menu s’affiche, utilisez une ou plusieurs des procédures suivantes.

Ajouter le menu à l’onglet Add-Ins d’un formulaire ou d’un état

Utilisez cette procédure si vous souhaitez que le menu s’affiche 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 afficher le menu, 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’objet entier en sélectionnant Formulaire ou État dans la liste en haut du volet Office Feuille de propriétés.

  4. Sous l’onglet Autre de la feuille de propriétés, dans la zone de propriété Barre de menus, tapez le nom de l’objet de macro que vous avez créé à l’étape 2 (dans cet exemple, « mcrAddShortcutMenu »).

  5. Enregistrez les modifications apportées à votre formulaire ou rapport.

    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 illustré dans 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, consultez l’article Créer un ruban personnalisé dans Access.

Ajouter le menu en tant que menu contextuel pour un formulaire, un état ou 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 attacher le menu contextuel.

    Pour sélectionner l’objet entier, sélectionnez Formulaire ou État dans la liste située en haut du volet Office Feuille de propriétés.

  4. Sous l’onglet Autre de la feuille de propriétés, dans la zone de propriété Barre de menus contextuels , tapez le nom de l’objet macro que vous avez créé à l’étape 2 (dans cet exemple, « mcrAddShortcutMenu »).

  5. Vérifiez que la propriété Menu contextuel est définie sur Oui.

  6. Enregistrez les modifications apportées à votre formulaire ou rapport.

    La prochaine fois que vous ouvrirez le formulaire ou l’état, puis cliquez avec le bouton droit sur le formulaire, l’état ou le contrôle, vous verrez votre menu contextuel avec les commandes associées, comme illustré dans 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, des rapports ou des contrôles spécifiques ne sont pas affecté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 menus contextuels , 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 d’accès .

  5. Fermez, puis 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 attaché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 macro des menus souhaités.

Un menu contextuel personnalisé attaché à un contrôle remplace tous les autres menus contextuels personnalisés définis 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 pendant que 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 et le rouvrir pour voir 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 qui contient uniquement les commandes de sous-menu, comme illustré dans l’illustration suivante :

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

Ensuite, suivez à nouveau l’étape 1 pour définir les commandes de l’objet de menu de niveau supérieur. Ajoutez le sous-menu en tant qu’é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 qui contient un sous-menu. La troisième sous-zone 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 terminé 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 à l’aide des actions de macro AddMenu 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’affiche sous la forme d’une ligne vide dans le menu de niveau supérieur.

Les conditions d’expression de macro utilisant des blocs If/Then/Else sont uniquement prises 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 menu contextuel particulier sera affiché, mais uniquement pour les menus du 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.

Si vous le souhaitez, la macro de menu que vous créez à 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 seul objet macro qui contient toutes les macros de menu nécessaires. Veillez à 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 conception de macro est différente dans Access 2007 et dans les versions ultérieures. Développez donc les sections suivantes à suivre si vous utilisez Access 2007.

Dans cette étape, vous créez un groupe de macros, dont chaque macro sera une commande distincte dans votre menu contextuel.

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

Un groupe de macros est un objet macro unique qui contient au moins deux macros indépendantes. Les macros individuelles sont identifiées en tapant un nom pour chaque macro dans la colonne Noms des 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 composant de deux actions de macro.

Exemple de groupe de macros

Remarque : La colonne Nom de la macro est masquée par défaut. 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. Sous 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 souhaitée dans votre menu contextuel personnalisé :

    • Dans la colonne Nom de la macro , entrez le texte que vous souhaitez afficher dans le menu contextuel (par exemple, « Imprimer le rapport » ou « Enregistrer »).

      1. Remarque : Pour créer une touche d’accès afin de pouvoir utiliser le clavier pour choisir la commande, tapez une esperluette (&) devant la lettre que vous souhaitez utiliser comme touche d’accès dans le nom de la commande (par exemple, « &Enregistrer »). 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.

    • Si vous souhaitez effectuer d’autres actions lorsque vous sélectionnez cette commande, ajoutez-les sur les lignes suivantes. Pour chaque action suivante, laissez la cellule Nom de la macro vide.

      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 pour un menu ou un menu contextuel personnalisé.

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 qui contient 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 AjouterMenu 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 il est recommandé si, à l’étape 3, vous envisagez d’ajouter le menu à un onglet ruban (par exemple, l’onglet Compléments d’un formulaire ou d’un état). Si le menu est ajouté en tant que menu contextuel à l’étape 3, l’argument Nom du menu est ignoré.

  4. Dans la zone Nom de la macro de menu , 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 conçu à l’étape 1.

Macro de menu en mode Création

Selon l’emplacement où vous souhaitez que le menu s’affiche, utilisez une ou plusieurs des procédures suivantes.

  • Ajouter le menu à l’onglet Add-Ins d’un formulaire ou d’un état

    Utilisez cette procédure si vous souhaitez que le menu s’affiche sous l’onglet Compléments pour un formulaire ou un état spécifique, comme illustré dans 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 afficher le menu, 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’objet entier en sélectionnant Formulaire ou État dans la liste en haut du volet Office Feuille de propriétés.

    4. Sous 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, consultez 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 pour un formulaire, un état ou 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 indiqué dans 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 attacher le menu contextuel.

      Remarque : Pour sélectionner l’objet entier, sélectionnez Formulaire ou État dans la liste située en haut du volet Office Feuille de propriétés.

    4. Sous l’onglet Autre de la feuille de propriétés, dans la zone de propriété Barre de menus contextuels , 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, des rapports ou des contrôles spécifiques ne sont pas affectés.

    1. Cliquez sur le bouton Microsoft Office , puis sur Options d’accès.

    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 menus contextuels , 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 attaché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 des menus que vous souhaitez intégrer.

  • Un menu contextuel personnalisé attaché à un contrôle remplace tous les autres menus contextuels personnalisés définis 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 pendant que 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 et le rouvrir pour voir les modifications.

  • Pour créer un sous-menu, suivez l’étape 1 pour créer un groupe de macros distinct qui contient uniquement les commandes de sous-menu. Ensuite, suivez à nouveau l’étape 1 pour définir les commandes du menu de niveau supérieur. Ajoutez le sous-menu en tant qu’élément dans le groupe de macros de niveau supérieur à l’aide de l’action de macro AjouterMenu . L’illustration suivante montre le groupe de macros d’un menu qui contient un sous-menu, puis montre le menu contextuel résultant. La troisième ligne du groupe de macros crée le sous-menu Exporter vers... (mcrSubMenu).

    Menu contextuel contenant un sous-menu

    Vous pouvez créer plusieurs niveaux de sous-menus à l’aide des actions AjouterMenu 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’affiche sous la forme d’une ligne vide dans le menu de niveau supérieur.

  • Les conditions de macro sont uniquement prises en charge 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 sera affiché, mais uniquement pour les menus du 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.

  • Si vous le souhaitez, la macro de menu que vous créez à 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 seul objet macro qui contient toutes les macros de menu nécessaires. Veillez à afficher la colonne Nom de la macro et à taper un nom unique pour chaque macro. À l’étape 3, utilisez la notation suivante pour faire référence à la macro : macrogroupname.macroname. Par exemple, mcrAddShortcutMenus.AddMenu2.

Haut de la page

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×