[Résolu]Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Bichonnet

XLDnaute Junior
Bonjour à tous,

Après quelques recherches infurctueuses, je me retourne vers votre expertise... :
J'ai un tableau croisé dynamique avec un graphique lié.
Le graphique affiche une courbe qui reprend différentes valeurs en fonction de mois. Le grand total donné par mon tableau est la moyenne de ces valeurs.

Ce que je voudrais faire, c'est tracer sur la graphique une ligne qui reprend cette fameuse moyenne.

Voir fichier joint. (tracer sur le graphique une ligne de 1,1428... pour "iso1" et 1,42... pour "iso2")

Merci d'avance !
 

Pièces jointes

  • TCB moyenne chart.xlsx
    33 KB · Affichages: 210
Dernière édition:

chris

XLDnaute Barbatruc
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Re

Comme tu n'as qu'une valeur par date, le TCD ne sert pas à grand chose. Si ton exemple est représentatif de la réalité, pourquoi ne pas t'orienter vers un graph classique ?
 

Bichonnet

XLDnaute Junior
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Re

Disons qu en fait le premier onglet contient normalement 94 colonnes.
Il y a donc 94 onglets reprenant chaque fois le graph de la colonne correspondante.

J'ai opté pour les TCD pour faciliter la mise à jour des données sur tous les tableaux en simultané.
J'ai également une macro qui redimensionne le graph et les imprime tous en même temps.

Je sais que je pourrais le faire en graph "classique" mais c'est plus simple en TCD par exemple si on me demande le graph que pour certains mois,...
 

Misange

XLDnaute Barbatruc
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Bonjour
Une suggestion :
Enlève toutes les lignes non remplies de ton tableau source
Transforme ton tableau de données initiales en tableau au sens excel du terme (onglet accueil/style).
(toute valeur ajoutée juste en dessous du tableau y sera automatiquement ajoutée, en respectant les formules éventuelles)
Ce lien n'existe plus

Construis ton graphique pour une série complète. Excel utilise par défaut le nom défini automatiquement par le tableau ce qui rend le graphique dynamique.
Si tu ne veux qu'un mois ou qu'une année, un simple filtrage te donne le résultat
la moyenne est facilement calculée automatiquement par le tableau (c'est une des fonctions de base).
Tu peux bien sur manipuler tout cela par VBA (voir la page 3 du tuto pour ça).
Ce sera je pense plus logique que de faire un tcd pour exploiter ce type de données.
 

Bichonnet

XLDnaute Junior
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Bonjour,

Je ne peux pas enlever les cellules vides...:( parce quand j'ai normalement 94 colonnes et que pour certaines colonnes toutes les lignes sont remplies, pour d'autres pas..

Puis-je faire la manip que tu proposes en laissant des cellules vides ?

Et deuxième question (avant de me lancer dans ta proposition) :
Les graphiques seront sur des onglets différents, se mettront à jour en fonction du tableau...mais si je veux mettre des filtres différents à chaque graphique (exemple : que l année 2011 pour les 5 premiers graph et année 2012 pour les autres) comment dois-je m y prendre avec un filtre qui se faire que sur la première colonne "mois" ?
 

Misange

XLDnaute Barbatruc
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Oui bien sur tu peux laisser des cellules vides dans un tableau. Clique sur la cellule en haut à gauche de ton "tableau" actuel et transforme le en vrai tableau. Excel repère tout seul le nombre de colonnes (pas dur si tu as déjà des entêtes !) mais aussi le nombre de lignes en se basant sur la colonne qui en contient le plus.
Non tu ne peux pas appliquer 94 filtres différents sur un unique tableau initial (pas plus qu'avec un tcd).
En revanche, tu peux par exemple par macro définir le filtre au moment ou tu actives la feuille correspondante (sur un événement worksheetchange). C'est plus léger que de recopier 94 fois tes données.
Mais en fait je ferais autrement :
1 seul tableau, 1 seul graphique et un menu déroulant avec une description des différents filtres que tu veux. Tu relies ce menu déroulant à une macro qui applique le filtre sur le tableau et modifie la colonne à représenter. Tu auras un classeur beaucoup plus léger et plus sur (une seule source de données).
Jette un oeil au tuto, fais des essais déjà de ce qu'on peut faire avec un tableau sur une copie de ton classeur et regarde si ça te va. LE test ne te prendras pas longtemps de toutes façons.
 

Bichonnet

XLDnaute Junior
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Re,

Oui j ai déjà un peu regarder et il est vrai que ca pourrait être plus simple.
L idée d un seul graphique ne me plait pas trop parce que le but final est d avoir un graphique par colonne que je dois imprimer.
A moins que j arrive a incorporer le changement de filtre juste avant ma macro qui imprime le graph...

A l heure actuelle de ma macro,...si je mets un graph par onglet correspondant a chaque colonne, je peux lancer ma macro qui les imprimera tous en une fois.

Je regarde ca demain plus en détails mais j aurais dû penser a cette solution plus tôt, le TCD fonctionne bien, meme dans ce cas la, mais je me retrouve limité par le graphique...

Merci :D
 

Bichonnet

XLDnaute Junior
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Bonjour,

Bon je suis convaincu pour la solution "tableau", j'ignorais qu'il rajoutait automatiquement toutes cellules mises à côté et que le graphique se mettait à jour directement ! --> merci :D

Par contre, là je pars avec l'idée de faire un graphique par onglet (chaque onglet reprenant le graphique des différentes colonnes).
Le but étant de pouvoir imprimer tous mes graphiques en une fois (j'ai déjà la macro qu'il faut).

Ta solution du choix de graph avec menu déroulant m'intrigue, je ne vois pas bien ce que tu veux dire ?

Ci-joint le fichier mis en forme selon tes précieux conseils, quelle serait ta solution pour répondre au besoin d'imprimer tous les graph facilement et rapidement ? (il y a au final presque 100 onglets...)

Thanks !!
 

Pièces jointes

  • tab et graph liés.xlsx
    27.9 KB · Affichages: 115

Bichonnet

XLDnaute Junior
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Re,

Voici en fichier joint mon dernier fichier qui inclus ma macro imprimant tous les graphs de chaque onglet.

J'avoue que pour faire ce fichier :
1) remplacer mon tableau sur l'onglet "global" par un tableau excel, ce fut rapide et c'est facile
2) supprimer mes pivot table sur les autres onglets, c'est facile
3)...pour créer les graphiques, je les ai faits à la main, dans l'onglet Iso1, j ai inséré un graphique et sélectionner les données dans le tableau "global" en sélectionnant la première colonne et la colonne "Isolateur 1".
Ensuite je mets un titre + la légende des axes...
Ca allait parce que je n'avais que 5 onglets pour ce classeur là mais j'avoue que l'idée de faire ça sur mes classeurs avec 94 onglets ne m'enchantent pas...

Tu aurais une idée lumineuse pour me faciliter ce travail ?

Merci d'avance
 

Pièces jointes

  • tab sans TCD+macro.xlsm
    59.2 KB · Affichages: 87

chris

XLDnaute Barbatruc
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Bonjour

La voie choisie à l'origine n'est pas la plus simple : en plaçant tes graphiques sur des feuilles graphiques et non des "worksheets" il suffisait de sélectionner tous ces onglets pour imprimer l'ensemble, ce qui supprime ou limite l'intérêt de la macro.

Quitte à garder une macro tu as 2 solutions basées sur le principe évoqué par Misange :
  • un graphique unique
  • une boucle qui filtre le tableau source

  1. soit imprime le graphique résultant du filtre avant de faire le filtre suivant
  2. soit copie sous forme d'image le graphique résultant du filtre dans un onglet avant de faire le filtre suivant
    imprime à la fin de la boucle les images des graphiques (comme a macro actuelle)
 

Bichonnet

XLDnaute Junior
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Re,

Je ne tiens pas absolument à garder ma macro et suis prêt à changer complètement de méthode. Mon tableau principal ne changera pas donc sur ce point là je suis sauvé :)

Je ne vois par contre pas comment tout mettre en un seul tableau avec un filtre sur la colonne choisie ?
(si je sélectionne mon tableau et que je fais insérer un graph, je n arrive pa à obtenir la colonne des mois en abcisse et les valeurs des autres colonnes en ordonnées...sauf si je le fais à la main pour chaque graph)..

Bigre, ça a l'air tout bête mais ça me bloque (raison pour laquelle j'étais parti sur un graph par onglet...)
 

Misange

XLDnaute Barbatruc
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

J'éviterai pour ma part comme la peste d'avoir 100 onglets comportant un graphique dans un classeur.
on ne peut pas les regarder tous en même temps donc ça ne sert à rien


Voilà déjà un petit exemple qui te montre comment tracer tes différents graphiques avec un menu déroulant pour choisir la série.
Il y a juste deux noms définis pour faire ça. Le premier pour alimenter la liste de choix, le second est utilisé comme source de données pour le graphique.
Il te suffit de mettre une macro qui s'active au changement de la cellule I3 pour lancer l'impression.
Pour faire ça en boucle, tu mets dans ta macro d'impression :
Code:
...
for each truc in range("isolateurs")
sheets("global").range("I3")=truc
... ton code d'impression
next
 

Pièces jointes

  • Copie de tab et graph liés.xlsx
    16.2 KB · Affichages: 124

Bichonnet

XLDnaute Junior
Re : Tableau croisé dynamique - Incorporer une moyenne sur un graphique

Re,

Ok, c'est assez joli comme méthode..
Pourquoi dans le graph que tu as mis, pour l'axe des abcisses, je ne peux pas choisir que l'échelle est de 1 mois ? sur mon graph dans mon tableau, je peux choisir la major unit comme étant de 1 "month".
Dans ton tableau, les mois sont affichés sous forme 40400.0 (?)

Mais je vote pour l'idée, j avais vu le code decaller dans le tuto que tu m'avais indiqué, j'étais occupé à plancher dessus mais la "bête chose" qui me manquait, c'était de donner un nom à chaque colonne :-/

Du coup...j'ai renommé comme toi "isolateurs" avec la fontion offset,... mais je sèche complètement sur le graphique, comment l'as-tu créé ? même méthode que dans le tuto ?
 

Discussions similaires

Statistiques des forums

Discussions
312 251
Messages
2 086 623
Membres
103 266
dernier inscrit
moonie