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

ActiveSheet.Shapes.AddChart.Select : erreur 1004

clements42

XLDnaute Nouveau
Bonjour, tout est dans le titre, je crée un graph en VBA de cette façon :

Code:
Sheets("saisie").Activate
    ActiveSheet.Shapes.AddChart.Select

    With ActiveChart

        .SetSourceData Source:=Range("'Feuil1'!$D$1:$D$9")

        .ChartType = xlBarClustered
        .Legend.Select
        selection.Delete
        .PlotBy = xlColumns
        .Axes(xlValue).Select

        .Axes(xlValue).MinimumScale = -5
        .Axes(xlValue).MaximumScale = 5
        selection.MajorTickMark = xlCross

        .Axes(xlCategory).Select
        selection.MajorTickMark = xlCross
    End With


j'ai assez régulièrement une "erreur 1004 définie par l'application ou l'objet" au niveau de la seconde ligne. Il me semble que ça vient du fait que je fasse 2 actions dans la même instruction (addchart et select). J'ai essayé de supprimer le select, pensant que le graph crée serait directement sélectionné, mais j'ai un problème après dans le with.

Quelqu'un aurait il une solution ? Merci.
 

Pierrot93

XLDnaute Barbatruc
Re : ActiveSheet.Shapes.AddChart.Select : erreur 1004

Bonjour,

une autre méthode pour créer un graph sur une feuille de calcul :
Code:
Dim c As ChartObject
With Feuil1
    Set c = .ChartObjects.Add(.Range("L1").Left, .Range("L1").Top, 350, 150)
End With

bon après midi
@+
 

Dranreb

XLDnaute Barbatruc
Re : ActiveSheet.Shapes.AddChart.Select : erreur 1004

Bonjour
J'ajouterai juste que pour accéder au graphique sans avoir besoin de le sélectionner,
travailler sur la propriété Chart du ChartObject.
Cordialement
 

rafs

XLDnaute Nouveau
Re : ActiveSheet.Shapes.AddChart.Select : erreur 1004

RESOLU
Pour moi l'erreur était la suivante:

On peut pas faire:

Code:
Range("B6:F6,B9:F9").Select

car on sectionnelle deux lignes que sont pas collés. Excel ne l'aime pas.

Il n'a droit à ne sélectionner que des ligne que sont collés, comme en:

Code:
Range("B6:F9").Select

Donc, l'erreu n'est pas sur la ligne:

Code:
 ActiveSheet.Shapes.AddChart.Select

mais sur la sélection.

La solution c'est sélectionner plusieurs lignes, même avec des donnés qu'on souhaite pas. Après, on clique sur le graphe et on enlève les données que nous n'interesent pas. Comme ça le code n'est pas propre, mais ça marche...
 

job75

XLDnaute Barbatruc
Re : ActiveSheet.Shapes.AddChart.Select : erreur 1004

Bonjour rafs, bienvenue sur XLD,

On peut pas faire:

Code:
Range("B6:F6,B9:F9").Select

car on sectionnelle deux lignes que sont pas collés. Excel ne l'aime pas.

Excel adore ça, ça s'appelle une sélection multiple.

Pas terrible pour votre 1er post sur XLD

A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…