Problème macro MouseMove

  • Initiateur de la discussion Initiateur de la discussion iwarren
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

iwarren

XLDnaute Nouveau
vba erreur d'exécution macro évènement souris MouseMove sur objet graphique

Bonjour le Forum!

Actuellement en stage en entreprise je travaille en partie sur des graphiques avec Excel 2003. Mon travail consiste à modifier la présentation des graphiques, à les rendre plus souples, évolutifs.
J'ai découvert ce forum au cours de mes recherches concernant Excel, et je me suis rapidement intéressé aux macros avec Visual Basic et aux possibilités qu'elles offraient.😀
Ce forum est vraiment très riche en astuces, conseils et j'y ai trouvé de bons exemples de macros à adapter à mes besoins, notamment concernant des "CheckBox" (elles sont peut être à améliorer au niveau de la rédaction du code).

Débutant sur Visual Basic je ne connais pas bien le langage utilisé mais je commence à avoir quelques notions.

Je suis actuellement bloqué au niveau d'une macro utilisant l'évènement souris "MouseMove".
J'ai essayé d'adapter à mon graphique une macro de Laurent Longre, macro qui fonctionne avec une série de données et dont j'ai joint le fichier.
Lorsque je pointe le curseur de la souris sur le graphique, cette macro me permet de voir les coordonnées du point ainsi que plusieurs autres informations le concernant, situées sur la même ligne du tableau.

Mais le problème est que, dans mon cas, cela marche avec la première série du tableau, la seconde et la dernière. Par contre cela ne marche pas pour le reste.😕 N'ayant pas les compétences pour déchiffrer entièrement le code, je ne trouve pas la solution à mon problème. J'ai 15 séries de données sur mon graphique.

Voici le code de la macro que j'utilise, certains pourront certainement m'aider sans devoir télécharger les pièces jointes; le code est déclaré dans un module de classe:

Private Sub Graph_MouseMove(ByVal Button As Long, _
ByVal Shift As Long, ByVal x As Long, ByVal y As Long)

Dim ElementID As Long, SeriesIndex As Long, PointIndex As Long
Dim S As Series, I As Integer, J As Integer, Form As String
Dim CellX As Range, CellY As Range

Graph.GetChartElement x, y, ElementID, SeriesIndex, PointIndex

If ElementID = xlSeries Then
Form = Graph.SeriesCollection(SeriesIndex).Formula
I = InStr(1, Form, ",") + 1
J = InStr(I, Form, ",") + 1
Set CellX = Range(Mid$(Form, I, J - I - 1))(PointIndex)
Set CellY = Range(Mid$(Form, J, InStr(J, Form, ",") - J))(PointIndex)[/COLOR]
Application.StatusBar = "Nom Prénom: " & CellX(1, -4) & " | Responsable: " & CellX(1, -5) & " | JA: " & Format(CellX(1, -3), "####0.O") & " | AFF: " _
& Format(CellX(1, 0), "####0.00") & " | CLO: " & Format(CellX, "###0.00")

Else: Application.StatusBar = False

End If

End Sub

Il semble que le problème vienne de la partie du code que j'ai mis en rouge mais je ne suis pas sûr.

Pouvez-vous m'aider?

Merci par avance.
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
517
Réponses
8
Affichages
134
Réponses
5
Affichages
86
Réponses
3
Affichages
65
Retour