Re : VBA-->Graph X-Y :Obtenir le numero du point sélectionné
Bonjour mapomme,
Merci pour votre aide !
Il me reste à compléter l'action que je veux faire lorsque la correspondance est trouvé. Je ne pensais pas qu'il aurait fallut rouler en boucle pour la recherche. mais bon, ça fonctionne bien. Étant donnée que mes données sont trié en ordre croissant pour le X, j'aurais pu faire tout d'abord une recherche de la première valeur de X et ensuite boucler à partir de cet endroit seulement. On verra !
Voici ce que j,ai retnu de votre partage.
Merci encore pour votre aide.
Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
Dim X As Double, Y As Double, SX As String, SY As String, SXC As Long, SYC As Long, _
SXRStart As Long, SXREnd As Long, I As Long, F As String, SF As String, SR As String
If ElementID = xlSeries Then
If Not Arg2 = -1 Then
X = WorksheetFunction.Index(ActiveChart.SeriesCollection(1).XValues, Arg2)
Y = WorksheetFunction.Index(ActiveChart.SeriesCollection(1).Values, Arg2)
F = ActiveChart.SeriesCollection(Arg1).FormulaR1C1 ' Préfère travailler en Nombre qu'en "String"
SF = Split(Mid(F, InStr(1, F, "(") + 1), "!")(0)
SF = Replace(SF, "'", "")
SX = Split(F, ",")(1)
SY = Split(F, ",")(2)
SXC = VBA.CLng(Mid(SX, InStrRev(SX, "C") + 1))
SYC = VBA.CLng(Mid(SY, InStrRev(SY, "C") + 1))
SXRStart = VBA.CLng(Mid(SX, InStrRev(SX, "C") + 1))
SXREnd = VBA.CLng(Mid(SX, InStrRev(SX, "R") + 1, InStrRev(SX, "C") - InStrRev(SX, "R") - 1))
'SYR = Mid(SX, InStrRev(SY, "C") + 1)
'Set RangeX = SH.Range(SR)
With Sheets(SF)
For I = SXRStart To SXREnd
If .Cells(I, SXC).Value2 = X And .Cells(I, SYC).Value2 = Y Then
Exit For
End If
Next I
End With
End If
End If
End Sub