Bonjour à tous,
J'aimerais créer un graphique en VBA (jusque la, j'y arrive 😛) sauf que la plage de données et le nombre de courbes sur ce graphique peut varier.
Je m'explique (voir en même temps le fichier joint)
Le graphique a créer apparait lorsqu'on filtre selon un groupe (ici on a 3 groupes mais il peut en avoir plus).
Quand le filtre est crée (on a donc un seul groupe), on veut en fait tracer la valeur de IntegTime (colonne G) au cours du temps (colonne C) pour chaque BPU ( il y en a 21, 7 par groupe) donc on aura 7 courbes sur le graphique dans ce cas.
Le graphique dans le fichier joint est un exemple de résultat souhaité quand on filtre le groupe en gardant le groupe1.
Je connais le nombre de groupe et le nombre de BPUs par groupe grâce à un fichier de configuration (je récupère donc ces valeurs sans problème si besoin)
On connait le groupe filtré avec un userform (on récupère cette valeur dans une variable).
---------------------------------------------------------------------------------------------------
J'ai beaucoup de mal à trouver un algo me permettant de sélectionner les différentes plages de données correspondantes aux BPUs.
Voici les idées que j'avais eu:
Tout d'abord une fois le numéro de groupe filtré récupéré on délimite la plage de données du groupe
[a,b-1] est donc l'intervalle avec les données qui nous intéresse.
Maintenant il faut trouver les X séries à l'intérieur qui correspondent aux X nombre de BPUs.
Voilà une première idée
Le problème c'est qu'à chaque 'tour', il faudrait que je créer une série dans le graphique...
C'est là que je n'arrive pas vraiment à procéder...
Ca devrait être quelque chose du genre:
Je pense que l'idée est la, mais je ne sais pas trop comment m'y prendre pour insérer la boucle du compteur avec la boucle c.
Voila merci d'avance de m'aider pour ce sujet auquel je bloque
J'aimerais créer un graphique en VBA (jusque la, j'y arrive 😛) sauf que la plage de données et le nombre de courbes sur ce graphique peut varier.
Je m'explique (voir en même temps le fichier joint)
Le graphique a créer apparait lorsqu'on filtre selon un groupe (ici on a 3 groupes mais il peut en avoir plus).
Quand le filtre est crée (on a donc un seul groupe), on veut en fait tracer la valeur de IntegTime (colonne G) au cours du temps (colonne C) pour chaque BPU ( il y en a 21, 7 par groupe) donc on aura 7 courbes sur le graphique dans ce cas.
Le graphique dans le fichier joint est un exemple de résultat souhaité quand on filtre le groupe en gardant le groupe1.
Je connais le nombre de groupe et le nombre de BPUs par groupe grâce à un fichier de configuration (je récupère donc ces valeurs sans problème si besoin)
On connait le groupe filtré avec un userform (on récupère cette valeur dans une variable).
---------------------------------------------------------------------------------------------------
J'ai beaucoup de mal à trouver un algo me permettant de sélectionner les différentes plages de données correspondantes aux BPUs.
Voici les idées que j'avais eu:
Tout d'abord une fois le numéro de groupe filtré récupéré on délimite la plage de données du groupe
Code:
a=0
do
a=a+1
loop until cells(a,2)=numero_groupe_filtré
b=a
do
b=b+1
loop until cells(b,2)<> numero_groupe_filtré
[a,b-1] est donc l'intervalle avec les données qui nous intéresse.
Maintenant il faut trouver les X séries à l'intérieur qui correspondent aux X nombre de BPUs.
Voilà une première idée
Code:
for c=a to b-1
nb1=c
do
c=c+1
loop until cells(c,1).value<>Cells(nb1, 1)
nb2=c-1
next c
C'est là que je n'arrive pas vraiment à procéder...
Ca devrait être quelque chose du genre:
Code:
for compteur=1 to nombre_de_BPUs
ActiveChart.SeriesCollection(compteur).Name = "=database!$A$" & nb1
ActiveChart.SeriesCollection(compteur).XValues = "=dataBase!$C$" & nb1 & ":$C$" & nb2
ActiveChart.SeriesCollection(compteur).Values = "=dataBase!$G$" & nb1 & ":$G$" & nb2
next compteur
Je pense que l'idée est la, mais je ne sais pas trop comment m'y prendre pour insérer la boucle du compteur avec la boucle c.
Voila merci d'avance de m'aider pour ce sujet auquel je bloque
Pièces jointes
Dernière édition: