ACTION CLICK DROIT

marcello06

XLDnaute Occasionnel
BONJOUR B) !!!!

ET OUI LES VACANCES C'EST LA FIN ON RENTRE AU BOULOT.

mais content de vous retrouver.


Voici mon sujet avec un petit fichier joint.
J'ai besoin dans une feuille d'utiliser le click droit pour faire apparaitre un userform1 qui va me remplir des cases avec mes choix
mais je souhaite que le userform se positionne automatiquement soit a gauche de mon click soit à droite si je suis tout a gauche de la feuille. comme s'il etait flottant.
vous remarquerez que je n'arrive a supprimer le userform lorsque le choix a été fait que puis faire.

merci d'avance de vos réponses
[file name=Classeur2_20050904101235.zip size=14305]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20050904101235.zip[/file]
 

Pièces jointes

  • Classeur2_20050904101235.zip
    14 KB · Affichages: 71

_Thierry

XLDnaute Barbatruc
=> DEMO UserForm PopUp à la Position du RightClick

Bonjour Marcello, le Forum

J'ai un peu repris ton fichier, il faut lancer ton UserForm avec les paramètres 'Left / Top' récupérés par une seule petite API 'GetCursorPos' de Lib'User32' avec 'POINTAPI'... Mais car il y a un mais...

Et oui, la position du curseur m'est bien retournée... Mais pas d'une façon fiable à 100% ... Il y a 'dégradation' au fûr et à mesure que l'on est au bord de l'écran... Ti m'avait expliqué ceci il y a bien longtemps :


Auteur: Ti
Date: 20-07-03 23:13

Sans y être allé voir de plus près, je suppose que tes déboires viennent de ce que tu oublies que GetCursorPos te renvoie une valeur exprimée en pixels, alors que les coordonnées écran dans Excel sont données en points.
Je ne sais jamais comment récupérer la proportion exacte entre points et pixel (1 point = 1/72 de pouce, une solution serait de récupérer le nombre de pixels par pouce pour trouver une valeur exacte) mais tu peux essayer de multiplier tes valeurs en pixels par 0.6, chez moi c'est parfait.


Donc c'est ce que j'applique à nouveau pour toi...

Tu noteras que l'évènementielle 'BeforeRightClick' est maintenant uniquement dans ThisWorkBook et plus en double dans les feuille (ce qui m'a fait enrager avant de comprendre ce sbinz lol)

Bon Dimanche
[ol]@+Thierry[/ol] [file name=USF_RightClick_Position.zip size=16580]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_RightClick_Position.zip[/file]
 

Pièces jointes

  • USF_RightClick_Position.zip
    16.2 KB · Affichages: 84

marcello06

XLDnaute Occasionnel
Re:=> DEMO UserForm PopUp à la Position du RightClick

Hello thierry Belle fin de saison sur la coté tu n'est pas au half iron men de monaco.
Je te remercie pour ton aide car je désespèrai de trouver une soluce

Non trop dur de nager courrir je vais me dorer sans rien faire cet fin apm...
@+ thierry et tous les amis du forum. :)
 

Ti_

Nous a quitté
Repose en paix
Re:=> DEMO UserForm PopUp à la Position du RightCl

Salut à vous

Ah, cette référence ne nous rajeunit pas. Depuis, j'ai appris à convertir des points en pixels (tout ça à cause de Cathy qui m'avait encore demandé un truc impossible à réaliser. Voir sur Vériti un programme qui doit s'appeler 'Pour Cathy' ou quelque chose comme ça) mais, c'est marrant, je suis justement en train d'écrire un programme pour mon boulot, dans lequel j'affiche un menu sur le click droit.
Cependant, je ne suis pas passé par un userform, mais par une simple barre de menu pop-up.
Pourquoi ça ? eh bien, il y a deux raisons :

-d'une part, je trouve l'affichage de ce petit pop-up plus 'propre' qu'un userform, aussi réduit soit-il.

-d'autre part, il est inutile de se casser la tête à récupérer la position de la cellule active, puisque la méthode ShowPopup, exprimée sans arguments, récupère d'elle même cette position, pour automatiquement se placer comme il faut sur la feuille.
Noter qu'on peut lui adjoindre un argument de position (tu te souviens Thierry du .ShowPopup 500, 200 ?). Mais à ce moment ces coordonnées sont également exprimées en pixels et non en points. Quoiqu'il en soit, la plupart du temps, il vaut mieux oublier ces arguments, c'est plus simple et Excel se débrouille très bien tout seul.

-enfin comme il n'y a pas à initialiser de userform, ça va plus vite et le code est plus compact.

Comment ça il y a trois raisons alors que je n'en avais annoncé que deux ?
[file name=ActionSurRightClickTi.zip size=14419]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ActionSurRightClickTi.zip[/file]
 

Pièces jointes

  • ActionSurRightClickTi.zip
    14.1 KB · Affichages: 145

_Thierry

XLDnaute Barbatruc
Re:=> DEMO UserForm PopUp à la Position du RightCl

Bonjour Ti, re Marcello


Merci à Ti enfin à Toi !

Tu es toujours aussi 'fracassant' !!! Bravo vraiment, en plus c'est un vrai PopUp !

Alors 'BarDroit' as 'CommandBar' no Soucy ... à Lyon on va...

Aller Droit au Bar où tu Commanderas ce que tu voudras à ma Santé !!!

Bon Dimanche
[ol]@+Thierry[/ol]
 

@Christophe@

XLDnaute Occasionnel
Re:=> DEMO UserForm PopUp à la Position du RightCl

Bonsoir à tous,

Voila un fil qui réunit les deux plus grand: @Thierry et Ti !!!

Je trouve vraiment super ce menu sous forme de PopUp. Cela va me servir pour corriger qq un de mes fichiers XL.

Un grand merci Ti pour ce formidable travail.

Bonne semaine à tous
 

BAROTOLI

XLDnaute Nouveau
Re:=> DEMO UserForm PopUp à la Position du RightCl

Salut Ti_

Je suis tombé sur ton post concernant les menus perso click droit, et j'ai une petite question à poser au spécialiste que tu es.

Je souhaiterai créer un menu click droit qui me donne le choix entre :
- CHOIX 1
- CHOIX 2

Jusqu'à là rien de compliqué...

Mais je souhaiterai que lorsque je sélectionne une de ces 2 possibilités, une marque se mette à gauche du menu.
(Control.State = msoButtonDown ?)
Mais sans possibilté de choisir les 2 cocher les 2 en même temps.

De plus je souhaiterai pouvoir dans une macro connaitre quelle option est sélectionné.
D'avance un BIG MERCI pour ton aide,
@ bientôt,
Olivier
 

Discussions similaires

Statistiques des forums

Discussions
300 890
Messages
1 988 179
Membres
210 097
dernier inscrit
Leboucanier