XL 2010 Déplacer le curseur avec un objet

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

Sur ma feuille j'ai un objet, en l'occurrence une icône. Quand je clique sur celle-ci, cela active une macro et l'icône change de position sur la feuille.
Peut-on faire en sorte que le pointeur de la souris se déplace automatiquement avec l'icône pour que l'on n'ait pas à aller la chercher si l'on veut immédiatement après recliquer dessus ?
 
Solution
Comme tu as utilisé un split, tu as créé 2 panneaux dont les références de positionnement diffèrent de la fenêtre. Donc c'est plus compliqué.

Maintenant il faut ajouter le Module_ObjectPane que j'ai fait pour déterminer le panneau auquel appartient la Shape Image. Le code est corrigé pour que les coordonnées de l'image tiennent compte du panneau d'appartenance de sa cellule haut gauche (Shape.TopLeftCell).

Edit: J'ai aussi modifié le fichier du Post #7 pour tenir compte de la possibilité de splits.

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

Ça avance poussivement. J'ai mieux adapté mes procédures avec celles de Dudu2.
La pierre d'achoppement réside dans le fait que la 1ère ligne, où viennent se loger les 2 icônes superposées, est figée. J'ai fait une petite modification dans la procédure de Dudu2 :
VB:
    With ActiveSheet.Shapes(Application.Caller)
        X = ActiveWindow.PointsToScreenPixelsX(0) + (.Left + .Width / 2) * PointToPixel
        Y = ActiveWindow.PointsToScreenPixelsY(0) + (.Top + Rows("1").RowHeight + .Height / 2) * PointToPixel
    End With
où je tiens compte, pour la coordonnée Y, de la hauteur de cette 1ère ligne figée.
Résultat :
- avec l'image papillon qui se trouve sous cette 1ère ligne : quand on clique et que l'on est en "Plein Écran", le curseur se trouve bien pile au milieu de l'image. En revanche, quand on est en "Vue Normale", le curseur se touve légèrement au-dessus du milieu de l'image et je ne comprends pas pourquoi.
- avec les icônes montrant un œil qui se trouvent dans la 1ère ligne : le curseur s'en va au diable vauvert et je comprends encore moins pourquoi.
 

Pièces jointes

  • FullScreenSurImage2.xlsm
    43.4 KB · Affichages: 3

Dudu2

XLDnaute Barbatruc
Comme tu as utilisé un split, tu as créé 2 panneaux dont les références de positionnement diffèrent de la fenêtre. Donc c'est plus compliqué.

Maintenant il faut ajouter le Module_ObjectPane que j'ai fait pour déterminer le panneau auquel appartient la Shape Image. Le code est corrigé pour que les coordonnées de l'image tiennent compte du panneau d'appartenance de sa cellule haut gauche (Shape.TopLeftCell).

Edit: J'ai aussi modifié le fichier du Post #7 pour tenir compte de la possibilité de splits.
 

Pièces jointes

  • FullScreenSurImage2.xlsm
    48.7 KB · Affichages: 7

Magic_Doctor

XLDnaute Barbatruc
Bonsoir Dudu2, le forum,

J'ai adapté ta dernière mouture dans mon classeur final. Ça marche impeccable, le doigt ne quitte pas la pupille. En dehors du côté pratique (ne plus partir en quête de l'icône), l'effet est fort sympathique, mais... pfff... quel boulot ! Un grand merci pour ta patience. Tout ça me dépasse un peu, mais j'aurais appris, entre autres choses, l'existence de l'objet "Pane".
En conclusion : une perle qui devrait intéresser beaucoup.
Bonne fin de soirée.
 

Discussions similaires

Réponses
21
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 142
Messages
2 085 754
Membres
102 962
dernier inscrit
vil