Macros Courbe Erreur d'exécution

Bonjour à tous je réalise un outil sur Excel et je bloque sur une petite parti qui consiste à réaliser courbe via une macro.

On m'affiche le message d'erreur suivant : Erreur d'exécution 2147024809 L'élément portant ce nom est introuvable.

Apparemment le nom ne correspond pas mais je ne vois pas quoi mettre d'autre. je vous joins le texte

Range("G7").Select

ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlXYScatterSmooth

ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).XValues = "=Feuil1!$C$10:$C$13"

ActiveChart.SeriesCollection(1).Values = "=Feuil1!$D$10:$D$13"

ActiveChart.Legend.Select

Selection.Delete

ActiveSheet.ChartObjects("Graphique 1").Activate

Range("M10").Select

End Sub

le problème viens de la ligne ActiveSheet.ChartObjects("Graphique 1").Activate

C'est pour un projet scolaire si vous voulez bien répondre

merci d'avance

Bonjour Roche,

La réponse est dans ta question...

L'élément portant ce nom est introuvable.

Tu tentes de sélectionner, sur la feuille active, un élément nommé Graphique 1. Deux possibilités:

1) Tu n'as pas la bonne feuille d'active

2) Ton graphique ne s'appelle pas Graphique 1

Bonjour,

Envoie ton fichier s'il te plait.

Plus simple de voir l'erreur qui peut-être ne vient pas du code mais du graphique à l'intérieur

Cordialement

Merci les gars c'est sympa vous êtes vifs.

d3d9x tu dois avoir raison mais comment je peux savoir le nom de mon graphique ?

Ok psyko j'essaye d'en refaire un propre

Bonjour,

Et si tu affectait ton graphique à une variable objet :

Set grf = ActiveSheet.Shapes.AddChart

Tu utilises par la suite la variable pour toutes les opérations successives et tu en profites pour supprimer partout ces Select et Selection (qui font mal aux yeux ).

Cordialement.

Merci M.Ferrand ça doit être une solution mais je débute et je vois pas comment réaliser ce que tu me dis.

En fait, (les graphiques c'est pas ma spécialité, je tâtonne toujours un peu) et l'affectation que j'indiquais affecte un objet Shape qui déclenche une erreur par la suite car non reconnu comme objet Chart. Il faut donc tourner autrement :

Sub test()
    Dim grf As Chart
    ActiveSheet.Shapes.AddChart(xlXYScatterSmooth).Select
    Set grf = ActiveChart
    grf.SeriesCollection(1).XValues = "=Feuil1!$C$10:$C$13"
    grf.SeriesCollection(1).Values = "=Feuil1!$D$10:$D$13"
    grf.Legend.Delete
End Sub

Ceci doit fonctionner : on garde une première sélection du nouveau graphique pour pouvoir l'affecter en tant que Chart.

Avec ce code, tu pouvais fort bien utiliser ActiveChart (à la place de grf) en supprimant toutes autres sélection, mais l'intérêt d'affecter à une variable, c'est que tu peux poursuivre toutes autres opérations sur le graphique en utilisant la variable

Cordialement.

Merci pour ta réponse Ferrand ca marche mais ce que j'aimerai c'est maintenant nommé ces tableaux. Je ne comprends pas pourquoi Excel m'indique une erreur si tu pouvais jeter un oeil.

End With

ActiveSheet.Shapes.AddChart(xlXYScatterSmooth).Name = "Y"

ActiveSheet.ChartObjects("Y").Activate

ActiveChart.ChartTitle.Select

Selection.Delete

ActiveChart.Legend.Select

Selection.Delete

ActiveChart.PlotArea.Select

ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).XValues = "=Feuil2!$V$13:$V$16"

ActiveChart.SeriesCollection(1).Values = "=Feuil2!$W$13:$W$16"

Dim oChart As ChartObject

With ActiveSheet.ChartObjects("Y")

.Left = Range("AA10:AF16").Left

.Top = Range("AA10:AF16").Top

.Width = Range("AA10:AF16").Width

.Height = Range("AA10:AF16").Height

ActiveSheet.ChartObjects ("Y")

ActiveChart.Axes(xlCategory).Select

ActiveChart.Axes(xlCategory).CrossesAt = 0

ActiveChart.Axes(xlCategory).CrossesAt = -10

ActiveChart.Axes(xlValue).Select

ActiveChart.Axes(xlValue).MajorUnit = 20

End With

Sheets("Feuil1").Select

End Sub

C'est la première ligne qui pose problème. Merci

@MFerrand, je suis toujours dans la même situation, les graphes sont dures à coder. C'est toujours plein de tentatives ratées.

Voilà une proposition qui crée un graphe dans une feuille à part:

19roche.xlsm (14.39 Ko)
Sub proposition()
Dim maChart As Chart
Set maChart = ThisWorkbook.Charts.Add
With maChart
ChartType = xlLine
.HasTitle = True
.ChartTitle.Caption = "TITRE DU GRAPHE"
'------
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Feuil1.Range("A1:A10")
.SeriesCollection(1).Values =  Feuil1.Range("B1:B10")
End With
End Sub

Merci pour le fichier c'est sympas c'est vrai que c'est une grosse galère ces graphes en VBA.

J'arrive pas à adapter ton programme au mien moi c'est pas le titre mais vraiment le nom du graphe que je veux changer pour qu'il se retrouve


Je t'envoi un exemple où ca marche comme il faut je vois pas pourquoi cela ne marche pas sur mon vrai fichier

18exemple.xlsm (21.62 Ko)

Bonjour à tous...

Pas le temps de regarder tout ça en détail maintenant [Réveil tardif aujourd'hui ! ça arrive !]

d3d9x, je partage tout à fait, Microsoft n'a pas facilité le boulot pour tout ce qui est graphique...

A+

Rechercher des sujets similaires à "macros courbe erreur execution"