Bonjour à tous,
je publie ce post puisque je n'ai pas réussi à trouver une réponse à mon sujet. J'ai créer un petit d'outil composé de deux pages.
Une page constitue un tableau de données. L'autre page accueille des graphiques croisés dynamiques. Leurs données sont issues du tableau. J'ai crée un bouton pour passer d'une page à l'autre. A travers ce bouton, j'en ai profiter pour rafraichir ma page graphique pour actualiser les données. Le type de graphique qui me pose problème concerne un "histogramme".
Chaque colonne possède sa propre légende. Quand je fais un clique droit sur une légende, je peux attribuer une mise en forme de cette légende que sur LA colonne en question. Si je ne me trompe pas, sur un graph "histogramme", il n'y a pas moyen de sélectionner l'ensemble des légendes et de préparer une mise en forme général.
Du coup, j'ai préparer légende après légende ma mise en forme. Mais à chaque refreshall, toutes mes légendes disparaissent.
Je me suis dit, c'est pas grave, je vais coder les légendes. Sur mon histogramme, j'ai réglé le fait qu'il ne peut y apparaitre au maximum 10 colonnes pour afficher les 10 meilleurs établissements de mon tableau.
Du coup, j'ai codé dans ma page:
Mais le problème, c'est que si dans mon tableau, il ne sort que deux établissements, alors seulement les deux premières FULLSERIESCOLLECTION(1/2) sont lus et j'ai un message d'erreur à partir de ma ligne FULLSERIESCOLLECTION(3).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ActiveSheet.ChartObjects("PMVAL2DEP_nbMOA").Activate ActiveChart.FullSeriesCollection(1).ApplyDataLabels ActiveChart.FullSeriesCollection(1).DataLabels.Select ActiveChart.FullSeriesCollection(2).ApplyDataLabels ActiveChart.FullSeriesCollection(2).DataLabels.Select ActiveChart.FullSeriesCollection(3).ApplyDataLabels ActiveChart.FullSeriesCollection(3).DataLabels.Select ActiveChart.FullSeriesCollection(4).ApplyDataLabels ActiveChart.FullSeriesCollection(4).DataLabels.Select ... ActiveChart.FullSeriesCollection(10).ApplyDataLabels ActiveChart.FullSeriesCollection(10).DataLabels.Select
Je ne sais pas comment atteindre mon objectif suivant qui est:
Après un Activeworkbook.refreshall, peu importe le nombre de colonnes de mon histogramme (<10), je veux que chaque colonne est sa légende.
Quelqu'un a une idée ?
Merci milles fois !
Cordialement
Partager