Affichage d'infos bulles au survol de cellules d'une plage de grande dimension

Mic13710

XLDnaute Junior
Bonjour à tous,

J'ai une plage verticale de données comprenant 200 lignes sur 1 colonne.
Chaque cellule contient un commentaire qui est généré en vba à partir de données localisées sur une autre feuille.
Tout ceci fonctionne bien, sauf que ces commentaires doivent-être remis à jour si des modifs ont été faites dans la base de donnée (pas de problème en vba), mais surtout que les divers classements que je fais sur les cellules de ma plage ont tendance à modifier les tailles des zones de commentaires qui sont bien entendu adaptées aux contenus, ce qui oblige à faire des rafraichissements de ces commentaires.

J'ai donc cherché une autre solution qui serait :
- Plus légère (pas de commentaire attaché à la cellule)
- Toujours à jour
- De taille en accord avec le texte
et j'ai trouvé sur le site de Jacques Boisgontier (que je salue ici et que je remercie pour son excellent site) le fichier SurvolCelluleChamp qui s'approche de ce que je souhaite.
Le seul problème c'est que lorsque la plage sort de l'écran (ce qui est mon cas avec mes 200 lignes), la valeur verticale renvoyée par le MouseMove n'est pas correcte et pointe vers une cellule très éloignée de celle recherchée.
Je cherche depuis hier comment faire pour résoudre ça et je n'arrive à rien.
Pour illustrer le problème, je joins le fichier de Jacques sur lequel j'ai étendu la plage sur 200 + lignes.
Si quelqu'un a une idée à proposer, je suis preneur.
D'avance merci pour votre aide.

Michel
 

Pièces jointes

  • SurvolGrandChampBulle.xls
    187 KB · Affichages: 72

Mic13710

XLDnaute Junior
Re : Affichage d'infos bulles au survol de cellules d'une plage de grande dimension

Je m'auto réponds.

Je suis finalement arrivé à résoudre mon problème en utilisant 2 Labels : Le premier qui couvre en la débordant largement la totalité de la plage des 200 lignes, la deuxième qui ne couvre que la partie visible à l'écran.
Le fonctionnement est le suivant :
Au passage de la souris dans le premier label, on défini les bornes de la plage visible en utilisant les propriétés de ActiveWindow.VisibleRange, et on borne le deuxième label avec les bornes de la plage visible.
Ainsi les valeurs renvoyées en X et Y sont correctes.
J'ai aussi adapté le code pour ne pas avoir les clignotements désagréables de l'écran à chaque déplacement de la souris.
L'usine à gaz fonctionne bien.
Néanmoins, je n'envisage pas de garder cette méthode car si la fonction recherchée est assurée, j'ai trouvé une autre solution moins contraignante et qui colle mieux à mon projet.
Désolé, mais comme j'ai travaillé sur mon propre fichier et pas sur le fichier joint à mon message ci-dessus, je ne suis pas en mesure de vous soumettre la solution que je décris. Si je trouve le temps, j'essaierai de le modifier pour le poster ici.
 

Discussions similaires

Statistiques des forums

Discussions
314 633
Messages
2 111 409
Membres
111 126
dernier inscrit
vitam