Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1486 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Récupérer le nom d'un object

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer le nom d'un object

n°1351065
lden
Posté le 21-04-2006 à 11:25:27  profilanswer
 

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
mood
Publicité
Posté le 21-04-2006 à 11:25:27  profilanswer
 

n°1351326
watashi
La démotivation : JAMAIS !
Posté le 21-04-2006 à 15:41:24  profilanswer
 

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 :
  1. Dim ch As ChartObject
  2. Set ch = Worksheets(1).ChartObjects.Add(100, 30, 400, 250)
  3. ch.Chart.ChartWizard Source:=Worksheets(1).Range("a1:a20" ), _
  4.     gallery:=xlLine, Title:="New Chart"


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.
@+

n°1351384
lden
Posté le 21-04-2006 à 16:41:59  profilanswer
 

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

n°1351422
watashi
La démotivation : JAMAIS !
Posté le 21-04-2006 à 17:06:40  profilanswer
 

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 ?
@+

n°1351434
lden
Posté le 21-04-2006 à 17:18:09  profilanswer
 

mon 12 est le numero du graphe je ne sais pas comment excel gere ces numeros...c'est lui que je cherche à obtenir!

n°1351562
lhonolulu
Posté le 21-04-2006 à 19:59:38  profilanswer
 

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

n°1353022
lden
Posté le 24-04-2006 à 19:14:12  profilanswer
 

Salut
 
J'ai un message d'erreur avec chartobjects(1).activate : la fonction ou sub n'est pas défini..  
 
merci

n°1353369
lhonolulu
Posté le 25-04-2006 à 10:56:13  profilanswer
 

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

n°1353449
lden
Posté le 25-04-2006 à 12:01:16  profilanswer
 

Cool je le récupère! je vais essayer de la changer maintenant, si on peux évidemment!
 
merci

n°1353459
lden
Posté le 25-04-2006 à 12:06:50  profilanswer
 

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
 

mood
Publicité
Posté le 25-04-2006 à 12:06:50  profilanswer
 

n°1353517
lhonolulu
Posté le 25-04-2006 à 12:53:29  profilanswer
 

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

n°1353520
lden
Posté le 25-04-2006 à 12:59:14  profilanswer
 

oui merci bcp!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Récupérer le nom d'un object

 

Sujets relatifs
Récupérer la source d'une page en phpComment récupérer les valeurs d'un champ text dont le nom s'incrémente
<object> flash et mozillarécupérer et réutiliser les paramètres dans un for
Firefox embed/object wmode=transparent une solution??gestion de donnée récupérer sur d'autre classeur
Recuperer un fichier depuis un serveur ???(DotNet) récupérer handle textbox
[activeX] récupérer les attributs height/width de <object> ?[VB] comment créer puis recuperer un object avec GetObject()
Plus de sujets relatifs à : Récupérer le nom d'un object


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR