Charts - VB - Redimensionner une série
Le
Alexandre Hamelin
Bonjour,
Après 4 jours de recherches et de tests infructueux, je vous le demande:
Un outil excel que je développe actuellement génère des rapports, des
tableaux. J'aimerais qu'une banque de Charts préfaite soit mise-à-jour
automatiquement durant l'application de mon script. Comme les longueurs et le
nombres des séries peux varier d'un rapport à l'autre, je voudrais simplement
sdavoir comment, à partir d'une Chart sur la worksheet("Charts") c'est
possible de faire de telles modifications:
a) modifier la longueur d'un range de source data pour chaque série
b) cacher (idéalement) ou effacer une série ->du coup, je dois savoir
comment la refaire.
J'ai visité environ 25 sites différents de charting en VB sur le net et je
ne comprends rien, certains parlent d'objets charts, d'autres ont une autre
vision sur la question. je suis désespéré, `ca me semble facile et je n'y
arrive pas, tout les codes parlent de commencer avec un Charts.Add et le
reste du code identifie le chart avec la syntaxe ActiveChart. et blablabla.
Je ne veux pas faire un "Select Chart" parce que tout ça doit se passer en
arrière plan, l'usager n'a pas à voir ça.
Voici différentes voies que j'ai expériment. sans succès, en plus d'être
pris pour créer une nouvelle chart à chaque fois
For i = 1 To Requestlevel - 1
With ActiveChart
.SeriesCollection(i).XValues = Sheets("Report Model").Range(Cells(6, i +
3), Cells(EndLine, i + 3))
.Name = Sheets("Report Model").Cells(4, i + 3).Value
etc
For i = 1 To Requestslevel
With Worksheets("Charts").ChartObjects(1).SeriesCollection(i)
.Values = Worksheets("Report Model").Range("d6:d" & EndLine)
.XValues = Worksheets("Report Model").Range("A5:f5")
End With
etc
Comment identifier une chart pour la modifier ensuite?
Comment la modifier?
Après 4 jours de recherches et de tests infructueux, je vous le demande:
Un outil excel que je développe actuellement génère des rapports, des
tableaux. J'aimerais qu'une banque de Charts préfaite soit mise-à-jour
automatiquement durant l'application de mon script. Comme les longueurs et le
nombres des séries peux varier d'un rapport à l'autre, je voudrais simplement
sdavoir comment, à partir d'une Chart sur la worksheet("Charts") c'est
possible de faire de telles modifications:
a) modifier la longueur d'un range de source data pour chaque série
b) cacher (idéalement) ou effacer une série ->du coup, je dois savoir
comment la refaire.
J'ai visité environ 25 sites différents de charting en VB sur le net et je
ne comprends rien, certains parlent d'objets charts, d'autres ont une autre
vision sur la question. je suis désespéré, `ca me semble facile et je n'y
arrive pas, tout les codes parlent de commencer avec un Charts.Add et le
reste du code identifie le chart avec la syntaxe ActiveChart. et blablabla.
Je ne veux pas faire un "Select Chart" parce que tout ça doit se passer en
arrière plan, l'usager n'a pas à voir ça.
Voici différentes voies que j'ai expériment. sans succès, en plus d'être
pris pour créer une nouvelle chart à chaque fois
For i = 1 To Requestlevel - 1
With ActiveChart
.SeriesCollection(i).XValues = Sheets("Report Model").Range(Cells(6, i +
3), Cells(EndLine, i + 3))
.Name = Sheets("Report Model").Cells(4, i + 3).Value
etc
For i = 1 To Requestslevel
With Worksheets("Charts").ChartObjects(1).SeriesCollection(i)
.Values = Worksheets("Report Model").Range("d6:d" & EndLine)
.XValues = Worksheets("Report Model").Range("A5:f5")
End With
etc
Comment identifier une chart pour la modifier ensuite?
Comment la modifier?

Poser une question


Bonsoir,
D'habitude, sur les graphiques, je m'en sors. Mais là, désolé, je ne
comprend rien à la question.
Si tu pouvais la reposer en français et de manière synthétique, je veux
bien essayer.
--
François L
Dans ma page nommée "Report Model" plusieurs cellules seront modifiées lors
de l'exécution de mon script. Dans une autre page "Charts", un graphique
nommé "Incidents Created" est déjà associé à la page "Report Model". Elle
contient 3 séries couvrant les ranges suivants:
='Report Model'!$D$6:$D$3645
='Report Model'!$E$6:$E$3645
='Report Model'!$F$6:$F$3645
Ces ranges sont les maximums possibles en étendue que les séries devront
couvrir.
Dépendant du rapport tiré par mon utilisateur, je voudrais pouvoir enlever
des séries, ou les remettres si un rapport subséquent les nécessite, ainsi
que modifié dynamiquement la longueur des ranges utilisés. Exemple:
Passer, pour la série 1 nommée "Integration" du range
='Report Model'!$D$6:$D$3645
au range
='Report Model'!$D$6:$D$545
Est-ce possible? Comment?
Ah oui, et... merci!
re,
Qu'est-ce qui doit enlever des séries ou les remettre, une action de
l'utilisateur ?
La modification de la source d'une série, c'est décidé par l'utilisateur
ou c'est lié à l'étendue de la plage source ?
--
François L
qui arrête pour ce soir de coder
3 ou même jusqu'à 300 clients à la fois. Il y a entre 1 et 4 lignes contigues
par client, mais ces lignes seront "mergé". L'étendue dépend du nombre de
clients sur lesquels on vut des renseignements. C'est donc lié à l'étendue de
la plage source... Merci et bonne nuit!
Re,
Pour ce qui est d'adapter un graphique à une plage source variable, vas
voir chez Misange
http://www.excelabo.net/xl/graph.ph...hdynamique
--
François L