Récupérer le nom d'un object - VB/VBA/VBS - Programmation
Marsh Posté le 21-04-2006 à 15:41:24
Salut iden,
juste 2 petites questions :
1 ton graph est une feuille de graph ou un graph inséré dans une feuille de calcul ?
2 tu est sous quelle version d'excel ?
ps: pour info, j'obtiens des résultats un peu farfellu chez moi si le graph est inséré dans une feuille de calcul :
ActiveChart.Name renvois : Graph BEM 01 à 06 Graphique 1 (soit nom de la feuille + espace + graphique + espace + index du graph)
selection.Name renvois : Graphique
Code :
|
en créant le graph ainsi, j'obtiens :
ch.Name renvoi : Chart 1
ch.Chart.Name renvoi : Feuil2 Graphique 1
Par contre si c'est une feuille de graphique là aucun soucis j'ai en retour le nom de ma feuille.
@+
Marsh Posté le 21-04-2006 à 16:41:59
salut,
je travail sous excel 2002 spe 3(vers 10.6).
Le graphe est inséré en objet dans la meme feuille de calcul.
C'est un graphe génére par un TDC, donc je n'ai pas a le créer.
quand je fais Activechart.name il me dit que c'est une propriete invalide ou que je ne peut l'utiliser ici.
Petite précision: est ce different si la macro est assigné au graph ou si c'est un bouton qui la déclenche.(dans un cas l'action se fait sur le graphe, il est peut etre plus imple de recupérer son nom)
voila le code
Range("A636" ).Select
ActiveSheet.PivotTables("PivotTable1" ).PivotCache.Refresh
'nom_feuille = ActiveSheet.Name
'mise_en_forme_region (nom_feuille)
Range("I663" ).Value = Date
ActiveChart.Name 'ne marche pas
'Dim Mychart As Object
'Set Mychart = Charts
'chart_name = Mychart.Name
'mychart.Activate
'ici j'aimerai récupérer le nom du graphique qui est "12"
'et pouvoir donc le passer en variable.
ActiveSheet.ChartObjects("12" ).Activate
ActiveChart.SeriesCollection(2).Select
With Selection
.Border.Weight = xlThin
.Border.LineStyle = xlNone
.Shadow = False
.InvertIfNegative = False
.Interior.ColorIndex = xlNone
End With
Merci
Marsh Posté le 21-04-2006 à 17:06:40
Je sais pas quoi te répondre comme celà j'ai aussi un excel 2002.
Comme je te l'ai indiqué j'ai des résultats sur activechart.Name même si ce n'est pas tout à fait ceux que je pensais...
Si tu veux je peux jeter un oeil sur ton fichier, c'est peut-être un truc de rien... je te donnes mon mail en pm.
Ton 12 il vient de quoi ?
@+
Marsh Posté le 21-04-2006 à 17:18:09
mon 12 est le numero du graphe je ne sais pas comment excel gere ces numeros...c'est lui que je cherche à obtenir!
Marsh Posté le 21-04-2006 à 19:59:38
Pour faire activechart tu dois d'abord activer ou sélectionner la feuille contenant le graphe.
ta feuille.select ou .activate
ensuite tu dois activer le graphique
'1 car tu as qu'un unique graphique dans ton tableau
chartobjects(1).activate
msgbox ActiveChart.Name
Marsh Posté le 24-04-2006 à 19:14:12
Salut
J'ai un message d'erreur avec chartobjects(1).activate : la fonction ou sub n'est pas défini..
merci
Marsh Posté le 25-04-2006 à 10:56:13
Chez moi cette macro marche à une condition
le graphique doit être sur la feuille active (dc celle du bouton)
si cpa le cas tu affectes xlwks à ta feuille graphique
Private Sub CommandButton1_Click()
Dim xlwks As Excel.Worksheet
Set xlwks = ActiveSheet
xlwks.ChartObjects(1).Activate
MsgBox ActiveChart.Name
End Sub
Marsh Posté le 25-04-2006 à 12:01:16
Cool je le récupère! je vais essayer de la changer maintenant, si on peux évidemment!
merci
Marsh Posté le 25-04-2006 à 12:06:50
En fait si j'ai envie de changer le nom de ce graphique c'est parce que j'ai plein d'onglets et excel attribue des noms bizarrees à ces onglets.
J'aimerais réduire la taille de ma macro en renommant tout ces graphiques avec le meme numero car il y a tjs un graphique et un seul par onglet.
Merci
Marsh Posté le 25-04-2006 à 12:53:29
s'il y a qu'un graphique ne t'emebet pas à les renomer.
Fait comme dans ma macro, écri pas le nom mais l'index du graphique.
il sera tj égal à 1 s'il y a qu'un graphiqe
Marsh Posté le 21-04-2006 à 11:25:27
Salut
je travaille sur un fichier avec de nombreux onglets.
Le contenu de chaque onglet est semblable et un graphique croisé dynamique y est généré.
J'aimerai mettre en forme ce graphique en lui assignant une macro. Pour cela j'ai besoin de récupérer le nom du graphique qur lequelle je vais cliquer.
Comment faire.
J'ai essayé des trucs comme chart_name = Activechart.name... ca ne marche pas
Merci!
lden
Message édité par lden le 25-04-2006 à 13:00:02