Microsoft 365 VBA - Dynamiser plages de données graphiques

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patricko-13

XLDnaute Nouveau
Bonjour à vous,

J'essaie de dynamiser les plages de données de graphiques que je crée au fur et à mesure par ce code en exemple:

VB:
With Sheets("Feuil4").Range("X1:X50")
Set x = .Find("eer", LookIn:=xlValues)


Sheets("Feuil4").ChartObjects(cat).Activate
        ActiveChart.FullSeriesCollection(1).XValues = Cells(x.Row, 24)
        ActiveChart.FullSeriesCollection(1).Values = Cells(x.Row, 25)
        ActiveChart.FullSeriesCollection(2).Values = Cells(x.Row, 27)


Cela marche bien, cependant je bute sur un autre type de graphique, en camembert, qui contient deux données.

Lorsque j'enregistre une macro le code généré me donne:

Code:
ActiveChart.FullSeriesCollection(1).Values = "=Feuil4!$Y$5,Feuil4!$AA$5"

J'essaie de le dynamiser par quelque chose du style:

Code:
ActiveChart.FullSeriesCollection(1).Values = Cells(x.Row, 25) & Cells(x.Row, 27)

En tentant de remplacer le caractère & par d'autres mais sans succès.

Auriez vous une piste pour y arriver ?

Je vous remercie par avance et vous souhaite une bonne journée !
 
Solution
Bonjour Patricko,
Sans fichier test, difficile d'être affirmatif.
Alors un peu au pif deux suggestions :
VB:
ActiveChart.FullSeriesCollection(1).Values = Sheets("Feuil4").Range(Cells(x.Row, 25), Cells(x.Row, 27))
Ou par nommage de plage :
Code:
Sheets("Feuil4").Range(Cells(x.Row, 25), Cells(x.Row, 27)).Name = "PlageGraphique"
ActiveChart.FullSeriesCollection(1).Values = [PlageGraphique]
Bonjour Patricko,
Sans fichier test, difficile d'être affirmatif.
Alors un peu au pif deux suggestions :
VB:
ActiveChart.FullSeriesCollection(1).Values = Sheets("Feuil4").Range(Cells(x.Row, 25), Cells(x.Row, 27))
Ou par nommage de plage :
Code:
Sheets("Feuil4").Range(Cells(x.Row, 25), Cells(x.Row, 27)).Name = "PlageGraphique"
ActiveChart.FullSeriesCollection(1).Values = [PlageGraphique]
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
945
Retour