XL 2013 données d'un point sur nuage de points

QuentinV12

XLDnaute Nouveau
Bonjour à tous,

sur un nuage de points je souhaiterais en cliquant sur un point soit :
- ouvrir une message box avec les données du points
- afficher des données autres que celles utilisés pour le nuage

ce sera plus compréhensible avec ce fichier test :

je vous remercie par avance les amis excelleurs !!!

Quentin
 

Pièces jointes

  • test extraction-2.xlsm
    23 KB · Affichages: 64

Dranreb

XLDnaute Barbatruc
Bonsoir.
Il faut un CommandButton pour activer le dispositif de graphique interactif.
Remarque: si c'était une feuille graphique au lieu d'un graphique incorporé à une feuille de calcul ce ne serait pas nécessaire: Les évènements de l'objet Chart seraient immédiatement disponibles tout comme le sont ceux de l'objet Worksheet dans une feuille de calcul.
Dans le module de la feuille:
VB:
Option Explicit
Private WithEvents Gph As Chart

Private Sub CBnActiverGphIA_Click()
Set Gph = Me.ChartObjects(1).Chart
End Sub

Private Sub Gph_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
Dim S As Series, TSpl() As String, PLg As Range, TPlg(), TTxt(1 To 8) As String, N As Long
If ElementID = 3 And Arg2 > -1 Then
  Set S = Gph.SeriesCollection(Arg1)
  TSpl = Split(S.Formula, ",")
  Set PLg = Me.Range(TSpl(1)).Rows(Arg2).EntireRow.Resize(, 8)
  Application.Goto PLg
  TPlg = PLg.Value
  For N = 1 To 8: TTxt(N) = TPlg(1, N): Next N
  MsgBox Join(TTxt, ", "), vbInformation, "Selection"
  End If
End Sub
 
Dernière édition:

QuentinV12

XLDnaute Nouveau
Bonsoir.
Il faut un CommandButton pour activer le dispositif de graphique interactif.
Remarque: si c'était une feuille graphique au lieu d'un graphique incorporé à une feuille de calcul ce ne serait pas nécessaire: Les évènements de l'objet Chart seraient immédiatement disponibles tout comme le sont ceux de l'objet Worksheet dans une feuille de calcul.
Dans le module de la feuille:
VB:
Option Explicit
Private WithEvents Gph As Chart

Private Sub CBnActiverGphIA_Click()
Set Gph = Me.ChartObjects(1).Chart
End Sub

Private Sub Gph_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
Dim S As Series, TSpl() As String, PLg As Range, TPlg(), TTxt(1 To 8) As String, N As Long
If ElementID = 3 And Arg2 > -1 Then
  Set S = Gph.SeriesCollection(Arg1)
  TSpl = Split(S.Formula, ",")
  Set PLg = Me.Range(TSpl(1)).Rows(Arg2).EntireRow.Resize(, 8)
  Application.Goto PLg
  TPlg = PLg.Value
  For N = 1 To 8: TTxt(N) = TPlg(1, N): Next N
  MsgBox Join(TTxt, ", "), vbInformation, "Selection"
  End If
End Sub

Bonjour, désolé de mon ignorance mais je n'arrive pas à faire fonctionner votre VBA...

pourriez vous la réaliser sur mon fichier joint ??

vous remerciant par avance

Quentin
 

Discussions similaires