Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Peut on créer un événement mouse move sur une feuille excel

9 réponses
Avatar
Xavier
bonjour à tous,
j'aurais souhaité faire un truc tout bête,
en déplacant la souris au dessus d'une page excel, j'aurais souhaité que
la cellule de la première colonne qui se trouve sur la même ligne que
le curseur de la souris change de couleur (histoire de mettre en
évidence la ligne sur laquelle on se trouve)

malheureusement il n'y a pas d'événement mouse move sur le WorkSheet. Y
a t il une solution ?
merci

9 réponses

Avatar
JB
Bonjour,

http://boisgontierj.free.fr/pages_site/mfc.htm#CurseurCouleur

JB

On 24 oct, 12:03, Xavier wrote:
bonjour à tous,
j'aurais souhaité faire un truc tout bête,
en déplacant la souris au dessus d'une page excel, j'aurais souhaité que
  la cellule de la première colonne qui se trouve sur la même ligne que
le curseur de la souris change de couleur (histoire de mettre en
évidence la ligne sur laquelle on se trouve)

malheureusement il n'y a pas d'événement mouse move sur le WorkSheet. Y
a t il une solution ?
merci


Avatar
Xavier
Merci JB,
je déduis de ta réponse qu'il faut que j'oublie le mouse move .

A+
Xavier


JB a écrit :
Bonjour,

http://boisgontierj.free.fr/pages_site/mfc.htm#CurseurCouleur

JB

On 24 oct, 12:03, Xavier wrote:
bonjour à tous,
j'aurais souhaité faire un truc tout bête,
en déplacant la souris au dessus d'une page excel, j'aurais souhaité que
la cellule de la première colonne qui se trouve sur la même ligne que
le curseur de la souris change de couleur (histoire de mettre en
évidence la ligne sur laquelle on se trouve)

malheureusement il n'y a pas d'événement mouse move sur le WorkSheet. Y
a t il une solution ?
merci





Avatar
Modeste
Bonsour® Xavier avec ferveur ;o))) vous nous disiez :

Merci JB,
je déduis de ta réponse qu'il faut que j'oublie le mouse move .



pas nécessairement... ;o)))
mais penser alors aux modules de classe...
Avatar
Xavier
j'ai bien essayé mais là je cale.

dans le code de ma feuille j'ai mis
Private MaFeuille() As New MaClasse

Public Sub Worksheet_Activate() 'on affiche la feuille
ReDim Preserve MaFeuille(0 To 0)

Set FeuilleEP = ActiveSheet
Set MaFeuille(0).MonExcel = FeuilleEP

End Sub




J'ai crée ma classe ("MaClasse") et mis les codes suivants

Option Explicit
Public WithEvents MonExcel As Excel.Worksheet

Private Sub MonExcel_MouseMove(ByVal Button As Integer, ByVal Shift As
Integer, ByVal x As Single, ByVal y As Single)
'On Error Resume Next

a = 1

End
mais rien à faire, je marche en aveugle

Modeste a écrit :
Bonsour® Xavier avec ferveur ;o))) vous nous disiez :

Merci JB,
je déduis de ta réponse qu'il faut que j'oublie le mouse move .



pas nécessairement... ;o)))
mais penser alors aux modules de classe...




Avatar
FS
Bonjour,

Je ne pense pas qu'il soit possible, même dans un module de classe,
d'ajouter des événements à des classes existantes et "built in" comme
Worksheet, Workbook ou Application.
Je pense que tu peux gérer des événements existants mais pas en définir
de nouveaux. MouseMove appartient à la classe Chart et je ne pense pas
qu'il soit possible de le "transposer" à la classe Worksheet.
Un module de classe peut permettre d'étendre les possibilités de
programmation d'une feuille graphique (Chart) à un graphique incorporé
dans une feuille de calcul (Worksheets(1).ChartObjects(1)) mais pas à la
feuille de calcul elle-même.
L'aide me semble assez claire à ce sujet (Utilisation d'événements avec
des graphiques incorporés).
Si j'ai tort et qu'il y a moyen quand même, ça ne sera ni la première ni
la dernière fois :)

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Xavier a écrit :
j'ai bien essayé mais là je cale.

dans le code de ma feuille j'ai mis
Private MaFeuille() As New MaClasse

Public Sub Worksheet_Activate() 'on affiche la feuille
ReDim Preserve MaFeuille(0 To 0)

Set FeuilleEP = ActiveSheet
Set MaFeuille(0).MonExcel = FeuilleEP

End Sub




J'ai crée ma classe ("MaClasse") et mis les codes suivants

Option Explicit
Public WithEvents MonExcel As Excel.Worksheet

Private Sub MonExcel_MouseMove(ByVal Button As Integer, ByVal Shift As
Integer, ByVal x As Single, ByVal y As Single)
'On Error Resume Next

a = 1

End
mais rien à faire, je marche en aveugle

Modeste a écrit :
Bonsour® Xavier avec ferveur ;o))) vous nous disiez :
Merci JB,
je déduis de ta réponse qu'il faut que j'oublie le mouse move .



pas nécessairement... ;o)))
mais penser alors aux modules de classe...






Avatar
Xavier
Merci frederic, JB est du même avis que toi

quelque part je me dis que quand mon curseur de souris passe sur une
cellule qui contient un commentaire, le commentaire s'affiche. L'API
d'Excel prévoit donc bien un événement associé au curseur de la souris .
ne peut on par un artifice accéder à cet événement.

Evidemment j'ai rien trouvé sur le net et ton calibre et celui de JB
m'invite à penser que je suis dans une impasse et que je ferais mieux de
changer d'idée.

je vais encore gratter un petit peu la dessus puis je laisse tomber

En tout cas un grand merci



FS a écrit :
Bonjour,

Je ne pense pas qu'il soit possible, même dans un module de classe,
d'ajouter des événements à des classes existantes et "built in" comme
Worksheet, Workbook ou Application.
Je pense que tu peux gérer des événements existants mais pas en définir
de nouveaux. MouseMove appartient à la classe Chart et je ne pense pas
qu'il soit possible de le "transposer" à la classe Worksheet.
Un module de classe peut permettre d'étendre les possibilités de
programmation d'une feuille graphique (Chart) à un graphique incorporé
dans une feuille de calcul (Worksheets(1).ChartObjects(1)) mais pas à la
feuille de calcul elle-même.
L'aide me semble assez claire à ce sujet (Utilisation d'événements avec
des graphiques incorporés).
Si j'ai tort et qu'il y a moyen quand même, ça ne sera ni la première ni
la dernière fois :)

FS


Avatar
Xavier
j'ai trouvé mon bonheur avec les SubClassing

http://www.cijoint.fr/cjlink.php?file=cj200910/cij1QFIb6B.xls

Xavier

Xavier a écrit :
Merci frederic, JB est du même avis que toi

quelque part je me dis que quand mon curseur de souris passe sur une
cellule qui contient un commentaire, le commentaire s'affiche. L'API
d'Excel prévoit donc bien un événement associé au curseur de la souris .
ne peut on par un artifice accéder à cet événement.

Evidemment j'ai rien trouvé sur le net et ton calibre et celui de JB
m'invite à penser que je suis dans une impasse et que je ferais mieux de
changer d'idée.

je vais encore gratter un petit peu la dessus puis je laisse tomber

En tout cas un grand merci



FS a écrit :
Bonjour,

Je ne pense pas qu'il soit possible, même dans un module de classe,
d'ajouter des événements à des classes existantes et "built in" comme
Worksheet, Workbook ou Application.
Je pense que tu peux gérer des événements existants mais pas en
définir de nouveaux. MouseMove appartient à la classe Chart et je ne
pense pas qu'il soit possible de le "transposer" à la classe Worksheet.
Un module de classe peut permettre d'étendre les possibilités de
programmation d'une feuille graphique (Chart) à un graphique incorporé
dans une feuille de calcul (Worksheets(1).ChartObjects(1)) mais pas à
la feuille de calcul elle-même.
L'aide me semble assez claire à ce sujet (Utilisation d'événements
avec des graphiques incorporés).
Si j'ai tort et qu'il y a moyen quand même, ça ne sera ni la première
ni la dernière fois :)

FS




Avatar
FS
Bonjour,

Et merci du retour. Je n'ai malheureusement pas pu tester ton fichier
(mon Excel 2003 se bloque dès l'exécution des macros) mais si tu as
trouvé une solution qui te convient, je m'en réjouis pour toi.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Xavier a écrit :
j'ai trouvé mon bonheur avec les SubClassing

http://www.cijoint.fr/cjlink.php?file=cj200910/cij1QFIb6B.xls

Xavier

Xavier a écrit :
Merci frederic, JB est du même avis que toi

quelque part je me dis que quand mon curseur de souris passe sur une
cellule qui contient un commentaire, le commentaire s'affiche. L'API
d'Excel prévoit donc bien un événement associé au curseur de la souris
. ne peut on par un artifice accéder à cet événement.

Evidemment j'ai rien trouvé sur le net et ton calibre et celui de JB
m'invite à penser que je suis dans une impasse et que je ferais mieux
de changer d'idée.

je vais encore gratter un petit peu la dessus puis je laisse tomber

En tout cas un grand merci



FS a écrit :
Bonjour,

Je ne pense pas qu'il soit possible, même dans un module de classe,
d'ajouter des événements à des classes existantes et "built in" comme
Worksheet, Workbook ou Application.
Je pense que tu peux gérer des événements existants mais pas en
définir de nouveaux. MouseMove appartient à la classe Chart et je ne
pense pas qu'il soit possible de le "transposer" à la classe Worksheet.
Un module de classe peut permettre d'étendre les possibilités de
programmation d'une feuille graphique (Chart) à un graphique
incorporé dans une feuille de calcul (Worksheets(1).ChartObjects(1))
mais pas à la feuille de calcul elle-même.
L'aide me semble assez claire à ce sujet (Utilisation d'événements
avec des graphiques incorporés).
Si j'ai tort et qu'il y a moyen quand même, ça ne sera ni la première
ni la dernière fois :)

FS






Avatar
Misange
Bonjour

Avec excel 2007, il ne se passe... Rien ?
Que vois tu ? :-)

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


Xavier a écrit :
j'ai trouvé mon bonheur avec les SubClassing

http://www.cijoint.fr/cjlink.php?file=cj200910/cij1QFIb6B.xls

Xavier

Xavier a écrit :
Merci frederic, JB est du même avis que toi

quelque part je me dis que quand mon curseur de souris passe sur une
cellule qui contient un commentaire, le commentaire s'affiche. L'API
d'Excel prévoit donc bien un événement associé au curseur de la souris
. ne peut on par un artifice accéder à cet événement.

Evidemment j'ai rien trouvé sur le net et ton calibre et celui de JB
m'invite à penser que je suis dans une impasse et que je ferais mieux
de changer d'idée.

je vais encore gratter un petit peu la dessus puis je laisse tomber

En tout cas un grand merci



FS a écrit :
Bonjour,

Je ne pense pas qu'il soit possible, même dans un module de classe,
d'ajouter des événements à des classes existantes et "built in" comme
Worksheet, Workbook ou Application.
Je pense que tu peux gérer des événements existants mais pas en
définir de nouveaux. MouseMove appartient à la classe Chart et je ne
pense pas qu'il soit possible de le "transposer" à la classe Worksheet.
Un module de classe peut permettre d'étendre les possibilités de
programmation d'une feuille graphique (Chart) à un graphique
incorporé dans une feuille de calcul (Worksheets(1).ChartObjects(1))
mais pas à la feuille de calcul elle-même.
L'aide me semble assez claire à ce sujet (Utilisation d'événements
avec des graphiques incorporés).
Si j'ai tort et qu'il y a moyen quand même, ça ne sera ni la première
ni la dernière fois :)

FS