Graphique en panne !!!

Ours masqué

XLDnaute Junior
Bonjour Forum...

J'ai une base de données avec plusieurs infos par personne.
Je voudrais créer un graphique de comparaison des valeurs en allant chercher, pour chaque série, une valeur, au même endroit dans chaque feuille, sur chacune des feuilles de données. Bon en gros, je balaye toutes les feuilles de données pour créer le graphique.

Pourriez vous m'aider à trouver la syntaxe correcte pour alléer sur les différentes feuilles ? Merci beaucoup. Bonne après midi...

Code:
    Charts.Add
    ActiveChart.ChartType = xl3DBarClustered
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).XValues = '=AK12345E!R1C1;AK58087C!R1C1' 'Ici ça pose problème, c est pas bon !!!
    ActiveChart.SeriesCollection(1).Values = '=AK12345E!R17C20;AK58087C!R17C20' 'Là non plus
    ActiveChart.SeriesCollection(1).Name = '=Témoin!R2C20'
    ActiveChart.SeriesCollection(2).Values = '=AK12345E!R19C12;AK58087C!R19C12' 'Forcément c est pareil ici
    ActiveChart.SeriesCollection(2).Name = '=Témoin!R3C11'
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:='Comparatif HdV'
Merci beaucoup. Je pense que je vais créer une page 'tampon' avec les données collectées par une boucle par exemple.

Et dans ce cas, pouvez vous m'aider aussi sur cette question : comment protéger ou cacher une feuille tout en permettant aux macros d'y travailler.
:silly: Bon appétit !
 

Creepy

XLDnaute Accro
Bonsoir,

J'ai eu me même problème que toi et je n'ai pas trouvé de solution.

J'ai donc fini par faire une feuille tampon masquée.

Pour masquer une feuille c'est simple. Dans l'editeur VBA tu cliques sur cette feuille et en dessous dans la fenêtre propriété tu mets la propriété VISIBLE sur XLsheetHidden.

Tu pourras toujours y acceder en VBA mais plus sous Excel.

Par contre si tu mets cette propriété sur Xlsheetveryhidden tu ne pourras même plus y acceder par VBA.

Bonne continuation.

@+

Creepy
 

MichelXld

XLDnaute Barbatruc
bonsoir Ours masqué , rebonsoir Creepy

ci joint une adaptation de ta procedure qui fonctionne chez moi ( Excel2002 )
je n'ai pas peaufiné la macro je pense qu'il est encore possible de l'améliorer


Dim TableXvalues(2), TableSerie1(2), TableSerie2(3)

TableXvalues(1) = Sheets('AK12345E').Cells(1, 1)
TableXvalues(2) = Sheets('AK58087C').Cells(1, 1)

TableSerie1(1) = Sheets('AK58087E').Cells(17, 20)
TableSerie1(2) = Sheets('AK58087C').Cells(17, 20)

TableSerie2(1) = Sheets('AK58087E').Cells(19, 12)
TableSerie2(2) = Sheets('AK58087C').Cells(19, 12)

Charts.Add
ActiveChart.ChartType = xl3DBarClustered
ActiveChart.SeriesCollection(1).XValues = TableXvalues()
ActiveChart.SeriesCollection(1).Values = TableSerie1()
ActiveChart.SeriesCollection(1).Name = '=Témoin!R2C20'

ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Values = TableSerie2()
ActiveChart.SeriesCollection(2).Name = '=Témoin!R3C11'

ActiveChart.Location Where:=xlLocationAsNewSheet, Name:='Comparatif HdV'




bonne soiree
MichelXld
 

Ours masqué

XLDnaute Junior
ah merci beaucoup :) !
Je savais bien que VBA était assez puissant pour le faire. Il faut passer par les tables donc. Je vais essayer. Je n'avais pas encore pris le temps de continuer et je n'ai pas essayé la solution de la page tampon.

Comme Creepy l'a déjà développée, je vais tenter l'idée suivante et, si je m'y perds, je reviendrai à la première idée.

Bien sûr, je vous donnerai ce que je trouve mais il faudra être patient et attendre l'an prochain (je pars pour plus d'un mois en Afrique). Et sans vouloir raconter ma vie : Joyeux Noël à tous... ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 762
Membres
103 661
dernier inscrit
fcleves