1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| ----- à placer dans un module de classe nommé ClasseChart ---
Option Explicit
Public WithEvents Graph As Chart
Dim NomGraph As String
Private Sub Graph_MouseMove(ByVal Button As Long, ByVal Shift As Long, _
ByVal x As Long, ByVal y As Long)
Dim ElementID As Long
Dim Arg1 As Long, Arg2 As Long
' Graph.MousePointer = fmMousePointerCross 'hélas mousepointer ne fait pas partie de Graph
Graph.Application.Cursor = xlWait ' fonctionne mais sur toute la feuille
'et le pointer souris na pas une forme de croix mais une forme de sablier
'Filtre pour que cette procédure soit appliquée sur un graphique spécifique
If ActiveChart.Name = "Feuil1 Graphique 2" Then
If Feuil1.CheckBox1 = False Then
'Button: Indique quel bouton est activé lors de l'évènement Chart_Mouse
'xlNoButton
'xlPrimaryButton
'xlSecondaryButton
'xlMiddleButton
'Shift: indique quelle touche du clavier est enfoncée lors des
'mouvements de la souris:
'0 = pas de touche
'1 = Touche Shift
'2 = Touche Ctrl
'4 = Touche Alt
'Vous pouvez aussi obtenir des associations de touches:
'6 = Touches Ctrl & Alt
'...etc...
'x: position horizontale dans le graphique
'y: position verticale dans le graphique
Range("F4") = Button & " / " & Shift & " / " & x & " / " & y
Else
ActiveChart.GetChartElement x, y, ElementID, Arg1, Arg2
Range("F4") = "Le curseur se déplace sur : " & _
RetourneDescriptionID(ElementID, Arg1, Arg2)
End If
End If
End Sub |
Partager