Manipulations formes sur graphes excel avec vba

Description

Ce code permet de
1* déplacer une forme (ici un ovale) sur un graphe avec un survol de la souris
2* faire apparaitre cette forme à l'endroit du graphe où on clique avec la souris
3* faire apparaitre un rectangle sur l'élément du graphe (ici une barre) au moment du survol avec la souris, avec une indication sur l'élément survolé
Il est présenté avec les 2 façons de gérer un graphe sous Excel:
- graphe(s) intégré(s) à une feuille de calcul
- utilisation d'une feuille graphique
Limites de ce code:
-fonctionne seulement avec un graphe type histogramme.
Cependant, il est possible de l'adapter facilement à un autre type de graphe
-dans le cas de la feuille graphique, le code fonctionne correctement seulement si on affiche le graphe "Ajusté à la fenêtre". Je verrai si je peux résoudre ce point si nécessaire (en effet, dans une feuille graphique, on ne met qu'un seul graphe et il est bon de l'avoir pleine page)

Source / Exemple :


Voir zip

Conclusion :


Pour établir ce code, j'ai utilisé en grande partie un excellent travail de Stephen Bullen présenté dans l'ouvrage "Professional Excel Development: The Definitive Guide to Developing Applications Using Microsoft® Excel and VBA®", livre "Bible" que je conseille fortement aux fans d'Excel VBA (il est à ma connaissance uniquement disponible en langue anglaise)
J'ai largement commenté le code pour qu'il soit facilement compris si quelqu'un veut le modifier
Je précise qu'il m'a été inspiré par une question d'un membre VB France (COYOTE26) que je remercie car il m'a permis d'apprendre des choses intéressantes et assez méconnues en VBA.
Merci de vos commentaires

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.