Création puis copie d'un grpahe dans un autre classeur

Sly le globe trotter

XLDnaute Occasionnel
Création puis copie d'un graphe dans un autre classeur

Bonjour,

Après plusieurs recherches sur le net et le forum, je me permets tout de même de poser la question car je n'ai pas trouvé comment résoudre mon problème...

Dans un fichier Excel, je lance une macro qui me permet d'ouvrir un autre classeur ayant une seule feuille. Dans ce classeur que je viens d'ouvrir, je veux créer un graphique sur cette feuille.
J'utilise le code suivant:
Code:
Sheets(Nom_Feuil).Range("A3:B" & Fin).Select
    Charts.Add
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
    ActiveChart.SetSourceData Source:=Sheets(Nom_Feuil).Range("A3:B" & Fin), PlotBy:=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:=Nom_Feuil    
    With ActiveChart
        .HasTitle = True
        .HasLegend = False
        .ChartType = xlXYScatterSmoothNoMarkers
        .ChartTitle.Characters.Text = ""
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Temps (s)"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Tension (Kgf)"
    End With

Jusqu'ici tout va bien sauf que je n'arrive pas à nommer mon graphique. La méthode que j'utilise créé le graphique dans un onglet avant de le transformer en objet dans la feuille. Au cours de cette opération, un nom est attribué automatiquement par Excel au graphique ce qui rend sa manipulation difficile.
(Question annexe : peut-on directement créé un graphe dans une feuille ?)

Une fois le graphe créé, je le copie et le colle dans mon premier classeur. Le hic, c'est que le graphe n'apparait pas au bon endroit dans mon premier classeur, il faut donc que je le sélectionne pour le déplacer. Et c'est là que ça coince... Le nom du graphique étant fixé par Excel, je n'arrive pas à le sélectionner.

Merci pour votre aide (en espérant avoir été clair)
Sly
 
Dernière édition:

MichelXld

XLDnaute Barbatruc
Re : Création puis copie d'un grpahe dans un autre classeur

bonsoir


Si j'ai bien compris, tu peux ajouter en fin de procédure

Code:
Dim NbGraph As Byte
 
'
'...
'
 
'compte le nombre de graphiques dans la feuille
NbGraph = ActiveSheet.ChartObjects.Count 
'le nouveau graphique correspond à l'index le plus élevé 
ActiveSheet.ChartObjects(NbGraph).Name = "Le nom du Graphique"


bonne soirée
michel
 

Discussions similaires

Réponses
1
Affichages
199
Réponses
0
Affichages
178

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 520
Messages
2 089 298
Membres
104 092
dernier inscrit
karbone57