Conseils pour la création d'un graphique dynamique sous Excel

bart64 bart64
182 contributions
Membre depuis le 11/02/2003
Envoyé le 10/05/2015 à 16:11 Modifié par Modération


Bonjour,

Je souhaiterais créer un graphique dans excel 2010 avec pour axe des abscisses des dates (toutes les dates).
En revanche, quand j'ajoute une nouvelle date, celle-ci n'est pas prise en compte dans mon graphique.

Pourriez-vous me donner la combine pour y parvenir ?

Merci d'avance
Claude40 Claude40
1 533 contributions
Membre depuis le 24/03/2010
Envoyé le 10/05/2015 à 20:27 Modifié par Claude40


Bonjour,
Comment sont stockées les dates et les données des séries du graphique?
Personnellement, j’ai un graphique qui reprend les données de 3 feuilles.
Les dates sont en colonne A sur chaque feuille (mais je prends celles de la Feuil1) et les données composant les séries sont en colonne B sur chaque feuille.
J’ai une macro qui recalcule les formules des séries et des dates.
Par exemple : la formule apparente de ma première série est Feuil1 !$B$6:$B$132, la deuxième série Feuil2!$B$6:$B$132, la troisième série Feuil3 !$B$6:$B$132,
La formule apparente de l’axe des abscisses est Feuil1 !$A$6:$A$132.
Si je crée une ligne 133, ma macro va transformer les formules des séries en Feuil[1,2,3] ! $B$6:$B$133 et la formule de l’axe des x en Feuil1 !$A$6:$A$133.
Les formules des séries sont accessibles via « ActiveChart.SeriesCollection(1).Formula » que je copie dans une zone de travail. Chaque série porte un numéro différent dans la collection (la première, ici porte le N° 1). Je récupère les numéros de la dernière ligne en milieu et en fin de formule par un Mid, je l’incrémente d’un et je réinstalle le résultat à la place d’origine toujours par un Mid, ceci pour chaque série.
Attention la formule réelle se présente sous la forme :
=SERIES(« Nom de la série », Feuil1 !$A$6:$A$132, Feuil1 !$B$6:$B$132,1)
Je conseille de stocker la formule dans un zone de travail et de faire un Msgbox de la zone de travail pour repérer les emplacements des numéros de ligne à changer. Le signe = est à compter.
MyZoneT = ActiveChart.SeriesCollection(1).Formula
Msgbox MyZoneT
Exit Sub ' en attendant d'avoir programmé les MID
Attention également : la longueur des numéros de ligne va évoluer dès que l'on passe à plus de 99 lignes. C'est important pour ne pas récupérer de "parasite" lors du MID.
Bonne chance
NB : Je travaille sur Excel 2007, mais la solution doit s'adapter à 2010.
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc

Discussion trop ancienne

Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.

Nous vous suggérons de créer un nouveau message

« Retour sur la liste des messages de ce forum