XL 2010 Condition clic position

Fabouf

XLDnaute Nouveau
Bonjour à tous,

Je cherche à faire un programme qui, une fois lancé, attend un clic pour lancer la suite du processus.
L'idée est de lancer le programme puis de cliquer à un endroit à la souris pour que la suite se lance. (donc un if "clic" then...)
Comme l'objectif final est de déterminer la position exacte de l'endroit cliqué, je ne peux pas me contenter d'un clic sur une cellule, mais d'un clic tout court sur la feuille.

J'espère avoir été assez clair, n'hésitez pas à demander des précisions.
Merci de votre aide !
 

Phil69970

XLDnaute Barbatruc
Bonjour @Fabouf

J'espère avoir été assez clair, n'hésitez pas à demander des précisions.
Vu que l'on nage dans l’hypothèse incertaine et aléatoire en clair au pif o_O 🤣 je te propose :

VB:
Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Target.Interior.ColorIndex = 4
'On peut bien sur faire une autre action
End Sub

Qui ne réponds pas à ta question ..... bien sur.;)
Mais on agit sur détection du clic droit sur la feuille peu importe l'endroit du clic

Avec un fichier avec ton code et un exemple clair de ce que tu attends sans que l'on ai besoin de jouer aux devinettes cela serait beaucoup mieux.

@Phil69970
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
Bonjour réellement une feuille n'a pas d’événement click simple
tu peux jouer avec l'event selectchange + déterminer la position de la souris lors de cet event

alors ça peut vite devenir une usine a gaz ton truc
tu a donc besoins de l'event select change
l'api getcursorpos
et utiliser les fonction pointstoscreenpixels(X et Y) pour déterminer le périmètre de la cellule qui vient d’être selectionné
la condition serait si la position du cursor est dans le perimetre de l'activecell alors c'est un click

j'ai tout dis ;)
 

Fabouf

XLDnaute Nouveau
Merci pour vos précieuses réponses.

Désolé de ne pas trop rentrer dans les détails, ce code appartient à un fichier excel que j'ai créé dans le cadre de mon stage. Comme beaucoup de choses sont confidentielles ici, je ne pense pas le partager.

Pour en revenir au code, j'ai contourné le problème en mettant un temps d'attente entre le lancement du code et les lignes qui permettent de récupérer la position de la souris (getcursorpos).
Cela me permet ensuite de placer un cercle au même endroit après être passé par d'horribles conversions entre les distances Excel et la résolution de mon écran.
Si cela vous intéresse je peux vous donner le programme dans la soirée.

Encore merci de votre aide.
 

Fabouf

XLDnaute Nouveau
Bonjour,
Après s'il faut cliquer pour lancer ton code pourquoi pas faire un bouton ... lol
L'application du code c'est de faire descendre un support métallisé sur l'écran tactile dans le but de le faire cliquer à un endroit précis qui servira plus tard.

Ensuite une mire (un cercle Excel) se place à l'endroit où l'on a cliqué, donc c'est la seule solution que j'ai trouvé.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour réellement une feuille n'a pas d’événement click simple
tu peux jouer avec l'event selectchange + déterminer la position de la souris lors de cet event

alors ça peut vite devenir une usine a gaz ton truc
tu a donc besoins de l'event select change
l'api getcursorpos
et utiliser les fonction pointstoscreenpixels(X et Y) pour déterminer le périmètre de la cellule qui vient d’être selectionné
la condition serait si la position du cursor est dans le perimetre de l'activecell alors c'est un click

j'ai tout dis ;)
Bonjour le fil, Bonjour Patrick .... tu m'as appelé ? lol 🤣
 

Discussions similaires

Réponses
4
Affichages
337

Statistiques des forums

Discussions
312 225
Messages
2 086 411
Membres
103 201
dernier inscrit
centrale vet