Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2011, 14h08   #1
Membre à l'essai
 
Inscription : octobre 2004
Messages : 84
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2004
Messages : 84
Points : 21
Points : 21
Par défaut Identifier l'appelant d'un menu contextuel

Bonjour,

J'ai créé un menu contextuel mnu_copy que j'appelle dans une ListBox1 via la propriété "Shortcut Menu Bar".

1 boutons s'affiche:
"Copier toute la liste" (par exemple)

Le code associé est sensé copier dans le clipboard le contenu de cette liste (cela pourrait être autre chose mais toujours lié à la ListBox)

Mon problème maintenant c'est que je voudrais réutiliser ce code pour d'autres ListBox différentes, éventuellement dans des formulaires différents, mais en détectant laquelle a "appelé" le menu afin que je puisse adapter le code en fonction de la liste. Cela évite de créer n menus

Est_ce possible ?

Merci d'avance
zitoune92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 12h15   #2
Membre à l'essai
 
Inscription : octobre 2004
Messages : 84
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2004
Messages : 84
Points : 21
Points : 21
Par défaut Une solution

Bon, une solution pour contourner cela (si ça interesse quelqu'un )

Dans un module, création d'une variable globale:
Code :
Global CurrentListBox As ListBox
dans chaque ListBox, à l'évenement OnEnter je mets:
Code :
Set CurrentListBox = Nom_de_la_ListBox
Bien évidemment, chaque ListBox a sa propriété Shortcut Menu Bar avec le même nom de fonction

Et dans cette fonction appelée par le menu, je peux tester la valeur de CurrentListBox.name

Voilou...
zitoune92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 14h13   #3
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 939
Points : 7 939
bjr,

est-ce ActiveControl ne conviendrait pas?
si on click droit sur la liste, elle devient l'ActiveControl

ou voir CodeContextObject mais j'ai un doute pour celui-là (je crois que c'est le formulaire qui est renvoyé)
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 17h15   #4
Membre à l'essai
 
Inscription : octobre 2004
Messages : 84
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2004
Messages : 84
Points : 21
Points : 21
Citation:
Envoyé par Arkham46 Voir le message
bjr,

est-ce ActiveControl ne conviendrait pas?
si on click droit sur la liste, elle devient l'ActiveControl

ou voir CodeContextObject mais j'ai un doute pour celui-là (je crois que c'est le formulaire qui est renvoyé)
Non. Screen.ActiveControl ne prend pas en compte la ListeBox dans laquel on fait le click-droit. Il garde toujours le dernier bouton que l'on a cliqué. Bizarre...
Quand à CodeContextObject, tu as raison c'est le nom du formulaire.

Merci quand même
zitoune92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 17h27   #5
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 939
Points : 7 939
Citation:
Envoyé par zitoune92 Voir le message
Non. Screen.ActiveControl ne prend pas en compte la ListeBox dans laquel on fait le click-droit. Il garde toujours le dernier bouton que l'on a cliqué. Bizarre...
Quand à CodeContextObject, tu as raison c'est le nom du formulaire.

Merci quand même
arf tant pis

merci pour le retour
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 17h38   #6
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 620
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 620
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

J'ai écrit il y a pas mal de temps un tuto sur les barres de commandes : Personnaliser vos barres de commandes dans Access

J'ai utilisé une astuce dans un des exemples pour passer en paramètre une donnée comme dans le premier exemple de la partie Bonus : http://starec.developpez.com/tuto/barrecommande/#LVI-A

Lié avec ce que tu as trouvé cela pourrait être une piste et recoupe un peu ce que tu as actuellement.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 09h28   #7
Membre à l'essai
 
Inscription : octobre 2004
Messages : 84
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2004
Messages : 84
Points : 21
Points : 21
Citation:
Envoyé par Philippe JOCHMANS Voir le message
Bonjour

J'ai écrit il y a pas mal de temps un tuto sur les barres de commandes : Personnaliser vos barres de commandes dans Access

J'ai utilisé une astuce dans un des exemples pour passer en paramètre une donnée comme dans le premier exemple de la partie Bonus : http://starec.developpez.com/tuto/barrecommande/#LVI-A

Lié avec ce que tu as trouvé cela pourrait être une piste et recoupe un peu ce que tu as actuellement.

Philippe
J'ai vu ton exemple mais malheureusement, cela ne collait pas avec mon cas.

Merci en tous cas.
zitoune92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h12.


 
 
 
 
Partenaires

Hébergement Web