récup. donnée de graph

M

mathieu

Guest
bonjour

voila
je cherche à récupérer la valeur d'un point sur un graphique (type courbe ou nuage de point) dont je n'est pas les données de base

et je voudrait faire tons ça dans une macro

n'esitez pas a demander des précisions

merci d'avance

a+
fifou
 
M

mathieu

Guest
j'ai bidouiller quelque chose a vous de me dire ce que ça vaux

sub aaa()

Dim val
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.SeriesCollection(1).Points(1).hasDataLabel=true
ActiveChart.SeriesCollection(1).Points(1).DataLabel.Select
val = Selection.Characters.Text


Windows("feuil1").Activate
Range("a1").Value = val

End Sub

voila voila
si ça peut servir à qqun

a+
fifou
 
M

michel

Guest
bonjour Mathieu

ta macro fonctionne

ci joint une autre version sans Select , à adapter en fonction du nom de tes feuilles

Sub pointsGraph()
Dim Valeur As Single

'recupere la valeur du 1er point dans la 1ere serie d'un graphique
'nommé "Graphique 1" , positionné dans la Feuil1
With Sheets("Feuil1").ChartObjects("Graphique 1").Chart.SeriesCollection(1).Points(1)
.HasDataLabel = True 'affiche la valeur du point dans le graphique
Valeur = .DataLabel.Characters.Text 'recupere la valeur du point dans une variable
.HasDataLabel = False 'ne plus afficher la valeur du point
End With

Sheets("Feuil1").Range("A1") = Valeur
End Sub


bon apres midi
MichelXld
 
M

mathieu

Guest
voila le code que j'ai rentré car il faut que je récupère le label du dernier point :

Dim val As Single
Dim nb As Single
Workbooks("15465.xls").Activate
nb = Sheets("graph excel").ChartObjects(1).Chart.SeriesCollection(1).Points.Count
With Sheets("graph excel").ChartObjects(1).Chart.SeriesCollection(1).Points(nb)
val = .DataLabel.Characters.Text
End With
Windows("tableau indice.xls").Activate
Range("I17").Value = val
Range("I18").Value = nb
End Sub

et il me rend :
val =91.000005487 qui ne corespond à rien dans mon fichier
nb=14 alors que j'ai 15 points

si quelqu'un peut m'éclairer

merci d'avance

a+
fifou
 
M

michel

Guest
rebonjour Mathieu

je n'ai pas testé mais si les valeurs ne sont pas affichées dans le graphique il faut ajouter ( comme dans le premier message )


Dim val As Single
Dim nb As Single
Workbooks("15465.xls").Activate
nb = Sheets("graph excel").ChartObjects(1).Chart.SeriesCollection(1).Points.Count
With Sheets("graphExcel ").ChartObjects(1).Chart.SeriesCollection(1).Points(nb)
.HasDataLabel = True 'affiche la valeur du point dans le graphique
val = .DataLabel.Characters.Text
.HasDataLabel = False 'affiche la valeur du point dans le graphique
End With
Windows("tableau indice.xls").Activate
Range("I17").Value = val
Range("I18").Value = nb
End Sub


il est preferable de ne pas utiliser "Val" comme variable car c'est aussi le nom d'un fonction Excel ...je fais aussi souvent cette erreur ...;o)


bonne soiree
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 323
Messages
2 087 300
Membres
103 512
dernier inscrit
sisi235