Erreur 1004 sur sélection de plage.

Résolu
Axov Messages postés 4 Statut Membre -  
Axov Messages postés 4 Statut Membre -
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

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. Axov Messages postés 4 Statut Membre
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      valeurs de mon tableau
      Contenu ou dimensions du "tableau"?
      0
    2. Axov Messages postés 4 Statut Membre
       
      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