Problème modification source graph variable

Résolu
Bonjour,

je voudrais modifier les données sources d'un graphique qui existe déjà dans un de mes fichiers excel, ce et à chaque fois que je lance ma macro.

J'ai le code suivant :

ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.ChartArea.Select
ChartObjects("Graphique 2").SetSourceData Source:=Sheets("Feuil1").Range(FL1.Cells(1, 1), FL1.Cells(14, QCol)), PlotBy _
:=xlRows

mais il ne passe pas... Je pense que le problème vient du Range(FL1.Cells(1, 1), FL1.Cells(14, QCol)), mais je n'en suis pas sûr...

FL1 étant la feuille1 de mon classeur Excel

Si vous avez une idée, je suis preneur !! Merci d'avance pour votre aide !

PS : je n'aime pas utiliser les .Select, mais je ne sais pas comment faire autrement dans ce cas là, donc si jamais, je suis preneur d'une autre solution également !! Merci ;)

4 réponses

  1. bonjour
    je cois qu'il y a une confusion avec les noms de feuilles
    Q1. y a t'il une feuille qui s'appelle "Feuil1"?
    Q2. FL1 est ce une variable contenant le nom de la feuille 1 ou le nom de la feuille 1?
    Q3. "Feuil1" et FL1 est ce que c'est la même feuille?

    1. si les données sont dans la même feuille que le graphique,
    With Sheets(nom de la feuille).ChartObjects("Graphique 2").Chart
    .SetSourceData Source:=.Range(Cells(1, 1), Cells(14, QCol)), PlotBy :=xlRows
    end with
    2. si les données ne sont pas dans la même feuille que le graphique, ça sera un peu plus compliqué
    bonne suite
    1. FL1 est défini de la manière suivante :
      Set FL1 = Worksheets("Feuil1")

      Les données utiliées dans le graphique sont dans la meme feuille que le graphique, càd "Feuil1"

      J'ai essayé votre code, mais la ligne suivante bloque également :

      .SetSourceData Source:=.Range(Cells(1, 1), Cells(14, QCol)), PlotBy :=xlRows

      une idée pourquoi ?

      Merci pour votre aide, c'est vraiment sympa
      1. re
        1. j'ai fait une erreur j'ai oublié un sheets(nom de la feuille) avant le .Range
        2. ton graphique est bien "Graphique 2"?
        3. et comme ça?
        With FL1.ChartObjects("Graphique 2").Chart
        .SetSourceData Source:=FL1.Range(Cells(1, 1), Cells(14, QCol)), PlotBy :=xlRows
        end with

        sinon peux tu envoyer ton classeur sans données confidentielles par cijoint.fr au format excel 2003
        bonne suite
        1. Hello

          Tout fonctionne parfaitement ! Désolé pour le temps de réponse, et surtout, un grand merci pour ton aide ultra rapide !!

          Bonne journée à toi ;)