Cet article a pour but d’expliquer le paramétrage des menus contextuels dans Microsoft Access. Le terme menu contextuel ou pop-up menu désigne les menus qui s’ouvrent lorsque l’utilisateur clique d’une manière particulière sur un objet de l’interface graphique. La plupart du temps, on utilise le menu contextuel lorsque l’utilisateur réalise un clic droit à l’aide de la souris dans un écran de liste.
Par défaut, Access propose des menus contextuels via le clic droit :
Ce menu contextuel permet de copier les données de la zone de texte sélectionnée, de trier les éléments de la liste de contacts par ordre croissant et décroissant et de réaliser des filtres sur les différents éléments de la liste.
On va utiliser les classes présentes dans Access pour paramétrer et mettre en place notre propre menu contextuel. L’exemple suivant va nous permettre de créer un menu contextuel permettant de réaliser 5 actions via le clic droit de la souris dans la liste des travaux ci-dessous :
Cette liste nous donne le montant des travaux engagés par année.
Le menu contextuel va nous permettre de réaliser les actions suivantes lorsque l’utilisateur va faire un clic droit sur une des lignes de travaux de la liste :
- Première année : permet de se replacer sur l’année de début des travaux.
- Avancer l’année de départ : permet de décaler l’année de début des travaux sur l’année suivante.
- Reculer l’année de départ : permet de décaler l’année de début des travaux sur l’année précédente.
- Lisser le montant sur une année de plus : permet de répartir le montant des travaux sur une année supplémentaire.
- Lisser le montant sur une année de moins : permet de répartir le montant des travaux sur une année en moins.
Pour créer notre menu contextuel, on va créer un module « ModPopUpMenu ». A l’intérieur de ce module, on va créer la procédure suivante :
Ci-dessous la correspondance entre icônes et FaceId :
Correspondance icônes FaceId
Bonjour;
mais comment procédé pour qu’il soit opérationnel ? es ce dans la propriété du formulaire(menu contextuel) on inscrit quoi ?
merci
Bonjour,
pour rendre le menu contextuel actif, il faut exécuter la procédure CREATE_POPUPMENU dans la fenêtre d’exécution du code : Call CREATE_POPUPMENU en mode débug.
La procédure doit être relancée à chaque modification du module ModPopUpMenu.
La procédure n’a pas à être lancée lors de l’exécution de l’application Access.
Après au niveau du formulaire, si on souhaite faire apparaître le menu au niveau d’une zone de texte, il faut utiliser l’événement : sur souris appuyée :
Private Sub MaZoneDeTexte_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = acRightButton Then
Application.CommandBars(« mPopUp_Travaux »).ShowPopup
End If
End Sub