Erreur 1004 sur sélection de plage.

Résolu
Axov Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Axov Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite faire une macro pour mettre a jour une plage de donnée d'un graph (qui s’intégrera dans une macro plus conséquente) . Je souhaite lui indiquer que la plage doit s'arreter à la dernière cellule non vide mais il m'indique une erreur 1004 et je n'arrive pas à me dépatouiller de ça. Quelqu'un saurais m'aider?

Sub maj_graph()
'
' maj_graph Macro
'

Dim d As Integer
d = Sheets("Resultat").Range("A" & Rows.Count).End(xlUp).Row

Dim Plage As Range
Set Plage = Sheets("Resultat").Range("A1:Ad", "C1:Ed")
'
Sheets("Graph").Select
ActiveChart.SetSourceData Source:=Plage
End Sub

Merci!

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Une facon de faire:
Sub maj_graph()
' maj_graph Macro
'
    Dim d As Long
    Dim Plage As Range

    With Sheets("Resultat")
        d = .Range("A" & Rows.Count).End(xlUp).Row
        Set Plage = .Range("A1:A" & d, "C1:E" & d)
    End With
    Sheets("Graph").Select
    ActiveChart.SetSourceData Source:=Plage
    Set Plage = Nothing
End Sub
0
Axov Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

J'ignore pourquoi mais ça a fonctionné la première fois et lorsque j'ai voulut réessayer en changeant les valeurs de mon tableau, VBA m'indique une erreur '91' variable objet ou variable de bloc With non définie sur la ligne "ActiveChart.SetSourceData Source:=Plage"
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

valeurs de mon tableau
Contenu ou dimensions du "tableau"?
0
Axov Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Problème résolut, le graphique n'était pas activé. code ci dessous.

Dim d As Long
Dim Plage As Range



d = Sheets("Resultat").Range("A" & Rows.Count).End(xlUp).Row
Set Plage = Sheets("Resultat").Range("A1:A" & d, "C1:E" & d)

Sheets("Graph").ChartObjects(1).Activate
ActiveChart.SetSourceData Source:=Plage
Set Plage = Nothing

Merci à tous!
0