Bonjour,
Je souhaiterais récupérer les coordonnées de points sur un graphique incorporé en cliquant sur ce graphique.
En lisant des forums, j'ai compris qu'il faut créer un module de class puis relier le graphique visé avec la classe mais je n'y arrive pas.
J'ai appliqué la méthode ci-dessous mais lorsque je lance la procédure Initializechart(), j'ai un plantage sur la ligne "Set myClassModule.mychartclass = Sheet1.ChartObjects(1).Chart" avec le message suivant : Objet requis.
Quelqu'un pourrait-il m'aider?
Je joins mon fichier. La macro Initialize est lancée depuis l'onglet "Graph H & V" avec le bouton "Init Chart"
*****************************************************************
Créez un nouveau module de classe, il s'appelle classe1 par défaut. Je l'ai laissé comme ça(en fait je n'arrive pas à le modifier)
Il faut placer "Public WithEvents mychartclass As Chart" en tête de classe. Voici le code de la classe :
1. Public WithEvents mychartclass As Chart
2.
3. Private Sub mychartclass_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
4. Range("A9" ) = x
5. Range("B9" ) = y
6. End Sub
7.
8. Private Sub mychartclass_MouseMove(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
9. Range("A8" ) = x
10. Range("B8" ) = y
11. End Sub
******************
Ensuite il faut activer cette classe à partir du module de la feuille excel (sheet1 chez moi). La sub "initializechart" est reliée à un bouton de commande sur la feuille Excel. Voici le code :
1. Dim myClassModule As New Classe1
2.
3. Private Sub initializechart()
4. Set myClassModule.mychartclass = Sheet1.ChartObjects(1).Chart
5. End Sub
Avec ça vous verrez apparaitre les coordonnées du pointeur de votre souris dans les cases A8 et B8.