Evénement graph : récupérer valeur de l'étiquette

Ken Hutchinson

XLDnaute Occasionnel
Hello le forum,

J'ai un graph en barre. C'est un diagramme de Gantt. Je veux qu'en cliquant sur une barre cela m'affiche un userform avec des données dedans.

J'ai donc fait un module de class et j'ai trouvé des codes à droite et à guache que j'adapte. J'arrive a faire apparaitre un userform vide en cliquant sur le graph.

Mais je n'arrive pas à récupérer ce qu'il y a écrit dans la barre (l'étiquette)...

Quelqu'un peut m'aider ?

Voici le code : évidement ça bug sur la ligne
Code:
Etiquette = ActiveChart.SeriesCollection(a).Points(b).Characters.Text

Je précise que c'est de la récup de code... donc que je maîtrise pas beaucoup...

Code:
Private Sub myChartClass_MouseDown(ByVal Button As Long, _
  ByVal Shift As Long, ByVal X As Long, ByVal Y As Long)
    
    Dim IDnum As Long
    Dim a As Long, b As Long
    Dim Etiquette As String
    
    
'   L'instruction suivante retourne une valeur pour
'   IDNum, a et b
    myChartClass.GetChartElement X, Y, IDnum, a, b
    Etiquette = ActiveChart.SeriesCollection(a).Points(b).Characters.Text

'   L'utilisateur a-t-il cliqué sur une série ?
    USF_Data.Label1.Caption = Etiquette

    USF_Data.Show
    
    Range("A1").Select
End Sub

Merci de votre aide...
 

Ken Hutchinson

XLDnaute Occasionnel
Re : Evénement graph : récupérer valeur de l'étiquette

Ok...

bon j'ai retiré tout ce qui n'empêche pas d'afficher l'USF...

mais je n'arrive pas à trouver comment récupérer ce qui est inscrit dans l'étiquette de la barre du graph..

Code:
Private Sub myChartClass_MouseDown(ByVal Button As Long, _
  ByVal Shift As Long, ByVal X As Long, ByVal Y As Long)
    

    Dim Etiquette As String
    
    Etiquette = ActiveChart.SeriesCollection.Count
    
    


    USF_Data.Label1.Caption = Etiquette

    USF_Data.Show

End Sub
 

James007

XLDnaute Barbatruc
Re : Evénement graph : récupérer valeur de l'étiquette

Bonjour,

Je ne suis pas sûr de tout comprendre ...

D'où provient ton texte à récupérer ... ? ou plus précisément où est la plage de cellules utilisée pour tes étiquettes ...?

Car cela semble plus logique de reprendre la source que l'affichage dans le graphique ...

A +
 

Ken Hutchinson

XLDnaute Occasionnel
Re : Evénement graph : récupérer valeur de l'étiquette

Bonjour James007,

Toujours la quelque part sur le forum :D

En fait la valeur des étiquette est modifiée par macro à la création du graph. C'est pour cela qu'il est difficile d'aller récuperer la valeur de cette cellule... et que je préfère aller chercher l'étiquette...
 

James007

XLDnaute Barbatruc
Re : Evénement graph : récupérer valeur de l'étiquette

A mon humble avis, il serait préferrable (et plus simple) qu'au moment de ta macro initiale, tu puisses inclure les deux lignes d'instruction nécessaires pour stocker tes étiquettes dans un coin d'une feuille ... pour usage ultérieur ...

A+
 

James007

XLDnaute Barbatruc
Re : Evénement graph : récupérer valeur de l'étiquette

Je vois ce que tu veux dire. Ces valeurs d'étiquettes sont stockées quelques part. mais cela me paraissait plus difficile à récupérer.

Au risque de me répéter, tu seras récompensé de l'effort initial à faire ...
sinon, je crois me souvenir d'un Add-in spécialisé dans les étiquettes qu'il faudrait incorporer ... mais ce chemin là est plus ardu ...

A +
 

Ken Hutchinson

XLDnaute Occasionnel
Re : Evénement graph : récupérer valeur de l'étiquette

Ok je vais faire comme tu penses.

Par contre comment récupérer le numéro de la SeriesCollection en variable ? ainsi que le numéro de SeriesCollection(x).Points.

Avec ces 2 valeurs je peux retrouver ma valeur d'étiquette...
 

Ken Hutchinson

XLDnaute Occasionnel
Re : Evénement graph : récupérer valeur de l'étiquette

Merci James007,

je suis en train de tenter d'adapter ton code... pas facile cette affaire...

pour l'instant je tente de faire apparaitre les coordonnées de l'endroit ou je clic dans un usf.

mais je ne sais pas du tout adapter ça...

Code:
Private Sub myChartClass_MouseDown(ByVal Button As Long, _
  ByVal Shift As Long, ByVal X As Long, ByVal Y As Long, ByVal i As Long, ByVal j As Long)
    

ActiveChart.SeriesCollection(i).Points (j)
    

    USF_Data.Label1.Caption = i & j
    USF_Data.Show

End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise