Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Nom du graphique ONLY

vgendron

XLDnaute Barbatruc
Hello !

Je viens vers vous pour une "simple" question

dans mon classeur excel, j'ai plusieurs feuilles, et sur chacune un graphique
1) bizarrement, à la création de mes graph, Excel les nomme Graphique 1 dans chaque feuille sauf la feuille 4 où il l'a nommé Graphique 3...

allez savoir pourquoi, mais soit..

2) je souhaite dans la feuille active récupérer le NOM du graphique présent et actif
Code:
NomGraphique = ActiveChart.Name

c'est super. sauf que le nom contient AUSSI le nom de la feuille..
et forcément.. quand j'utilise
Code:
ActiveSheet.ChartObjects(NomGraphique).Activate
ca plante..
car ce qu'il veut c'est juste le nom du graphique sans le nom de la feuille..

question: y a t il une subtilité pour ne récuperer QUE le nom du graphique, ou faut il que je m'amuse à supprimer le nom de la feuille dans la variable ??

merci
 

vgendron

XLDnaute Barbatruc
Re : Nom du graphique ONLY

Salut Pierrot
merci
effectivement, j'avais bien testé cette syntaxe qui est parfaite dans le cas où il y a bien 1 graphique.. et un seul sur la feuille

depuis toute à l'heure..mon besoin évolue...

Je cherche maintenant le moyen de demander à l'utilisateur de sélectionner le graphique,
dans le meme principe que la ligne ci dessous donne la main à l'utilisateur pour cliquer sur une cellule

Code:
zone=application.inputbox("selectionnez la cellule souhaitée";type:=8)
 

Pierrot93

XLDnaute Barbatruc
Re : Nom du graphique ONLY

Re,

essaye avec un "userform" non modal, cela devrait le faire, bien qu'il soit pas toujours nécessaire de selectionner les objets pour travailler dessus en vba...

bon après midi
@+
 

vgendron

XLDnaute Barbatruc
Re : Nom du graphique ONLY

Bon. j'enchaine et reste sur ce post.. vu que c'est toujours un souci sur mon graphe..

une fois sélectionné, donc identifié, j'aimerai pouvoir acceder aux séries de ce graphe. notamment pour récupérer les valeurs max et min de chaque axe

à partir de la série i du graphique que je peux sélectionner avec
ActiveChart.SeriesCollection(i).select


je voudrais récupérer cette valeur max...
Bref.. je veux faire ce qu'excel fait déjà en détectant les bornes du graphe lors de l'autoscale...


voila.. suffit d'utiliser
Code:
ValMaxX=ActiveChart.Axes(xlValue).MaximumScale
pour l'axe Y

et
Code:
ValMaxY=ActiveChart.Axes(xlcategory).MaximumScale
pour l'axe X
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Nom du graphique ONLY

Bonjour,

si tu as besoin de connaitre précisément le max de ta série :
Code:
Sub test()
Dim x As Double, s As Series, i As Integer
Set s = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
With s
    For i = 1 To .Points.Count
        If .XValues(i) > x Then x = .XValues(i)
    Next i
End With
MsgBox "max = " & x
End Sub

bonne journée
@+
 

Discussions similaires

Réponses
6
Affichages
384
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…