Générateur de graphique

Bonjour,

Je souhaite créer un générateur de graphique qui m'a l'air de plus en plus sophistiqué au fur et à mesure que je me confronte à sa réalisation... je fais viens faire recours à votre génie.

Le point de départ : de très nombreuses données (pluviométrie, débit de pompes etc) organisées en colonnes que je souhaite mettre en forme en fonction du temps.

L'idée finale : une interface à base d'inputbox qui demande la date de début et la date de fin pour définir l'étendue de la plage à considérer et qui demande également les colonnes à prendre en compte pour construire le graphique.

Le code qui suit me sert à "trouver" la date de début et la date de fin dans ma base de données et de renvoyer la valeur des lignes correspondantes dans deux cellules distinctes sur une autre feuille.(vous pourrez surement observer une patte de débutant très prononcée)

Sheets("VERIFICATION").Range("A3") = InputBox("Date de début = rentrer le mois et l'année sous la forme mm/aaaa")
SAISIEdebut = Sheets("VERIFICATION").Range("A3")

    If SAISIEdebut = "" Then
    Sheets("VERIFICATION").Range("A3:B3").ClearContents
    Exit Sub
    End If

    Sheets("VERIFICATION").Range("A4") = Sheets("THE MATRIX").Columns(1).Cells.Find(SAISIEdebut, , xlValues).Row
    localise1 = Sheets("VERIFICATION").Range("A4")

Sheets("VERIFICATION").Range("B3") = InputBox("Date de fin = rentrer le mois et l'année sous la forme mm/aaaa")
SAISIEfin = Sheets("VERIFICATION").Range("B3")

    If SAISIEfin = "" Then
    Sheets("VERIFICATION").Range("A3:B3").ClearContents
    Exit Sub
    End If

    Sheets("VERIFICATION").Range("B4") = Sheets("THE MATRIX").Columns(1).Cells.Find(SAISIEfin, , xlValues).Row
    localise2 = Sheets("VERIFICATION").Range("B4")

MsgBox (localise1 & " " & localise2)

Je souhaite utiliser ces deux valeurs (localise1 et localise2) pour les intégrer à la suite de mon code en tant que variable fondamentale, exemple (j'aimerais pouvoir écrire ça mais cela ne marche pas) : ActiveChart.FullSeriesCollection(1).Values ="feuil1'!$D$" localise1 & ":$D$" & localise2

Seulement vba n'accepte que les adresses complètes et sans interventions de variables... Quelqu'un peut-il m'aider à régler ce problème lexical?

Bonjour,

Je suggère :

MonAdresse = "feuil1'!$D$" & localise1 & ":$D$" & localise2

ActiveChart.FullSeriesCollection(1).Values = MonAdresse 

J'ai bien essayé cette formule mais cette application n'accepte pas des références indirectes dans sa syntaxe, pour fonctionner la plage doit être écrite comme elle sort à l'enregistreur de macro.

Merci quand même

Bonjour

Pourquoi ne pas tout simplement préfiltrer la période choisie (via un simple tableau ou deux cellules) avec PowerQuery intégré à ta version et baser le graphique sur le résultat de la requête ?

Simple et efficace sans VBA...

Joins un bout de fichier si tu veux un exemple concret.

J'ai bien essayé cette formule mais cette application n'accepte pas des références indirectes dans sa syntaxe, pour fonctionner la plage doit être écrite comme elle sort à l'enregistreur de macro.

Essaie ça :

    MonAdresse = Range("feuil1'!$D$" & localise1 & ":$D$" & localise2)
    ActiveChart.FullSeriesCollection(1).Select
    ActiveChart.SetSourceData Source:=MonAdresse 
Rechercher des sujets similaires à "generateur graphique"