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:

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
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).

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