Comment faire une ligne de sous total universelle ?

Tikale

XLDnaute Junior
Bonjour a tous,

J'ai un soucis un peu particulier, sur lequel je passe a chaque fois un temps fou a resizer mes cellules.

Jai un tableau a 200 lignes, avec une 30aine de colonnes : chaque colonne correspond a une propriété de mes lignes.

En bas de ce tableau, j'ai une ligne total, qui est parfois une simple somme, parfois une moyenne pondérée par d'autres colonnes, parfois un count if.

Jusqu'ici tout vas bien. Mais de ce tableau, je suis souvent a faire un nouveau tableau, par groupes.

Par exemple au lieu d'un tableau de 200 lignes, je dois afficher un tableau de 50 lignes avec un sous total, puis un autre de 60 avec sous total, etc. et en dessous de mes 4 tableaux, ma ligne Grand total.

Parfois meme au sein de ces catégories, je dois faire une nouvelle sous-catégorie.

Du coup je dois faire un certain nombre de sous totaux, et a chaque fois je dois les dimensionner car mes tableaux n'ont pas le meme nombre de lignes. Avec un ctrl F ca va assez vite mais j'aimerai bien n'avoir qu'une seule ligne sous total que je peux copier coller en bas de chaque tableau.

Vous avez une idée de comment gérer ce genre de choses ? J'ai pensé a un sumproduct sur les colonnes entiéres, en rajoutant une colonne avec un identifiant par tableau pour savoir les lignes que mon sous total doit prendre, mais il y a les titres dans les colonnes et du coup ca fait bugger le sumproduct (meme en mettant un if error avec ctrl shift enter)).

Par avance, merci pour votre aide
 

Misange

XLDnaute Barbatruc
Re : Comment faire une ligne de sous total universelle ?

Bonjour
La solution me parait évidente ici et passe par un tableau croisé dynamique pour analyser ton tableau de base qui lui ne contient que des données "brutes", sans sous total.
Si tu nous mets ton tableau (anonymisé) en pièce jointe on pourra t'aider davantage. Sinon commence par regarder ici
Ce lien n'existe plus
 

Tikale

XLDnaute Junior
Re : Comment faire une ligne de sous total universelle ?

Merci pour ta résponse Misange. Je vais regarder ca mais je pense que le TCD ne me permettra pas de formatter mes données comme je le veux.

Je regarde plus en detail dans l'aprem et je poste un tableau anonymisé aussi.

Merci encore
 

Xwprft

XLDnaute Junior
Re : Comment faire une ligne de sous total universelle ?

Bonjour Tikale, Bonjour Misange,

Oh ! comment ça un TCD ne peut pas tout faire ?
Blague à part, c'est peut-être vrai. Mais néanmoins le TCD est vachement puissant.
Je te joins un exemple.
Je n'ai pas pu simuler le total pondéré, car je ne me représente pas ce qui doit être fait.
Avec un fichier anonymisé, on verra ce qui est faisable.

A+
 

Pièces jointes

  • exemple TCD.xlsx
    18.6 KB · Affichages: 42
  • exemple TCD.xlsx
    18.6 KB · Affichages: 43
  • exemple TCD.xlsx
    18.6 KB · Affichages: 42

Tikale

XLDnaute Junior
Re : Comment faire une ligne de sous total universelle ?

Bonjour,

Toutes mes excuses pour le retard, j'ai ete tres pris par le boulot, y compris ce weekend.

Voici comme promis un fichier anonymisé. En gros voici comment ca fonctione :

Onglet Hypotheses: On insert toutes nos hypothese. Chaque ligne a un ID, puis différents attributs, notamment un groupe (1 a 3 ici), un rang global, et un rang au sein de son groupe.

Output 1 me donne toutes ces données, mais classé par rang et non par ID (normalement mon output va chercher plein d'autres informations dans d'autres classeurs, et ces informations sont dynamiques).

Et Output 2 me donne la meme chose, mais par groupe, avec le classement au sein de ce groupe.

Parfois, on fait meme une sous-sous-catégorie.

Les tableaux de l'output 2 sont assez simples a copier/coller/ajuster, mais les totaux sont tres embetants. En general, les totaux sont soit des sommes, soit des moyennes pondérées, soit des min/max conditionnels (différents selon chaque colonne).

Dans l'exemple de l'ouput 2, il me faudrait une ligne de sous-total sous chaque tableau, et une ligne de grand total tout en bas. Or si je rajoute des catégories, je dois changer ma ligne de grand total (en gros c'est pas une somme dont la plage s'agrandit automatiquement en insérant une ligne, vu que je ne sélectionne que 3 lignes...).

Et je ne peux pas creer un lien au total de l'output 1, car ces onglets changent tres souvent, et ca prendrait un temps fou d'updater les deux simultanément (en gros quand j'ai l'output 2 je ne garde pas l'output 1 a jour, donc le total n'est pas utilisable).

Autre précision importante: J'ai pas l'impression qu'un TCD soit flexible sur le fomat. Par exemple parfois je vais avoir une colonne avec des dates, une date par ligne, mais dans le total, on aura besoin de mettre du texte et non une date. Ou un N/A meme si une moyenne est calculable.

Vous pensez toujours qu'un TCD peut m'aider ? :)

Merci beaucoup pour votre aide ! Et désolé par avance si je mets encore du temps a répondre, pas grand controle sur mon emploi du temps ces derniers jours...

Tikale
 

Pièces jointes

  • Pivot.xlsx
    47.4 KB · Affichages: 32
  • Pivot.xlsx
    47.4 KB · Affichages: 36
  • Pivot.xlsx
    47.4 KB · Affichages: 37

Misange

XLDnaute Barbatruc
Re : Comment faire une ligne de sous total universelle ?

Bonjour

1) mets tes données sous forme de tableau excel, cela les rend automatiquement dynamique et cela apporte de nombreux autres avantages. (Ce lien n'existe plus)

2) tu n'es pas très précis sur les calculs que tu fais. JE t'ai donc fait un exemple de TCD avec sous total en fonction du group et du group rank et un total général en synthétisant les données par la somme. Diverses options sont possibles dans le TCD (nombre, moyenne, somme, evazrtype...) Mais pas tout. Suivant le cas il faut passer par des champs ou des éléments calculés ou, et c'est souvent bien plus sur et simple, en ajoutant une colonne (au besoin masquée) dans le tableau de départ.
Plus d'infos sur les TCD ici
Ce lien n'existe plus
 

Pièces jointes

  • Pivot.xlsx
    60.1 KB · Affichages: 34
  • Pivot.xlsx
    60.1 KB · Affichages: 39
  • Pivot.xlsx
    60.1 KB · Affichages: 37

Tikale

XLDnaute Junior
Re : Comment faire une ligne de sous total universelle ?

Merci pour ta réponse.

Je vais regarder ca plus en détail, mais a priori, ce n'est pas possible de faire une moyenne d'une colonne pondérée par les valeurs d'une autre colonne, si ? (meme avec une colonne cachée).

J'ai demandé a un colégue pourquoi est-ce qu'on n'utilise pas le TDC dans notre secteur (immobilier), il m'a répondu que le TCD ne permet pas de gérer suffisament de ligne (en gros a 450 lignes et 50 colonnes un TCD ne marchera pas). Je ferrai le test tout a l'heure mais si c'est le cas ca va etre compliqué pour moi.

PS : mon but n'est pas de dire le TCD est nul car je n'ai pas l'habitude de l'utiliser hein, nul doute que c'est un tres bon outil. C'est juste que personne ne l'utilise chez nous, mais que je trouve leur methode pour faire des sous-totaux assez embetante, donc je cherchais une solution innovante/miracle sans pour autant perdre des fonctionalités qu'on a avec nos tableaux désuets :)
 

JCGL

XLDnaute Barbatruc
Re : Comment faire une ligne de sous total universelle ?

bBonjour à tous,

Source : MS

[h=3]Quelles sont les limites de tableaux croisés dynamiques ?[/h]Les limites suivantes s'appliquent aux tableaux croisés dynamiques.[h=4]Taille maximale[/h]Il n'y a pas de taille maximale fixe. La taille maximale est généralement limitée uniquement par la quantité de mémoire disponible sur votre ordinateur.[h=4]Champs de colonne[/h]Le produit du nombre d'éléments dans tous les champs de colonnes dans un tableau croisé dynamique ne peut pas dépasser 32 768.

Par exemple, supposons que vous créez un tableau croisé dynamique qui contient cinq champs de colonne. Les champs contiennent respectivement 10, 5, 2, 40 et 3 éléments. Le produit de ces valeurs est 10 x 5 x 2 x 40 x 3, soit 12 000.

Si vous essayez d'ajouter un autre champ qui contient trois éléments, le produit serait 12 000 x 3, soit 36 000. Ce résultat étant supérieur au produit maximal des éléments, le message d'erreur suivant s'affiche :Pas assez de mémoire pour afficher intégralement le tableau croisé dynamique.


Notez que les feuilles de calcul Microsoft Excel sont limitées à 256 colonnes. De ce fait, même si vous parvenez à créer un tableau croisé dynamique qui contient un grand nombre de champs de colonne, vous ne pouvez pas être en mesure d'afficher l'intégralité du tableau développé.[h=4]Champs de ligne[/h]Le produit du nombre d'éléments dans tous les champs de ligne dans un tableau croisé dynamique ne peut pas dépasser 2 ^ 31 (2 élevé à la puissance 31) ou environ 2,1 milliards d'éléments. La même logique que celle qui s'applique aux champs de colonne s'applique également aux champs de ligne.[h=4]Nombre maximal d'enregistrements[/h]Il n'existe pas de nombre maximal d'enregistrements que vous pouvez utiliser lorsque vous créez un tableau croisé dynamique.

Dans la pratique, la création d'un tableau croisé dynamique à partir d'une base de données externe contenant un très grand nombre d'enregistrements peut pénaliser les performances de la station de travail sur laquelle Excel est en cours d'exécution et peut prendre beaucoup de temps pour terminer.

Si vous créez un tableau croisé dynamique à partir d'une base de données très volumineuse, vous souhaiterez utiliser des champs de page de serveur dans votre tableau croisé dynamique. Consultez la section suivante pour plus d'informations sur l'utilisation des champs de page de serveur dans les tableaux croisés dynamiques.[h=4]Nombre maximal d'éléments par champ de tableau croisé dynamique[/h]Il existe une limite de 8 000 éléments uniques par champ de ligne, colonne ou champ de page.Un champ de vos données source a trop d'éléments uniques pouvant être utilisés dans un tableau croisé dynamique.



A+ à tous
 

Misange

XLDnaute Barbatruc
Re : Comment faire une ligne de sous total universelle ?

Hello, salut JC :)

Ton lien Jean-Claude concerne excel 97-2000 :)
[h=2]PivotTable and PivotChart report specifications and limits[/h]
FeatureMaximum limit
PivotTable reports on a sheetLimited by available memory
Unique items per field1,048,576
Row or column fields in a PivotTable reportLimited by available memory
Report filters in a PivotTable report256 (may be limited by available memory)
Value fields in a PivotTable report256
Calculated item formulas in a PivotTable reportLimited by available memory
Report filters in a PivotChart report256 (may be limited by available memory)
Value fields in a PivotChart report256
Calculated item formulas in a PivotChart reportLimited by available memory
Length of the MDX name for a PivotTable item 32,767
Length for a relational PivotTable string32,767
Items displayed in filter drop-down lists10,000






ca laisse de la marge :)
Tikale, comme bien souvent quand les gens ne connaissent pas un outil ou ne l'utilisent pas, ils le dénigrent ce qui semble être le cas de ton collègue.
Rassure-toi tu peux traiter un TRES TRES grand nombre de lignes avec un TCD. En fait tu traites beaucoup plus de données qu'avec un sommeprod. Sommeprod comme toutes les formules matricielles est très gourmand en ressources.
Si au lieu de nous dire ce qui n'est pas possible à priori nous nous disais ce que tu veux faire en nous donnant un exemple représentatif de tes questions, cela éviterait de parler dans le vide ... :)
 

JCGL

XLDnaute Barbatruc
Re : Comment faire une ligne de sous total universelle ?

Bonjour à tous,
Coucou Flo,

Pour XL 2007 et en version FR :

Spécifications et limites relatives aux rapports de tableau croisé dynamique et aux rapports de graphique croisé dynamique

FONCTIONNALITÉLIMITE MAXIMALE
Nombre maximal de rapports de tableau croisé dynamiquepar feuilleLimité par la quantité de mémoire disponible
Éléments uniques par champ1 048 576
Nombre maximal de champs de ligne ou de colonne par rapport de tableau croisé dynamiqueLimité par la quantité de mémoire disponible
Nombre maximal de filtres de rapport par rapport de tableau croisé dynamique256 (limitation possible par la quantité de mémoire disponible)
Nombre maximal de champs de valeur par rapport de tableau croisé dynamique256
Nombre maximal de formules d’éléments calculés par rapport de tableau croisé dynamiqueLimité par la quantité de mémoire disponible
Nombre maximal de filtres de rapport par rapport de graphique croisé dynamique256 (limitation possible en fonction de la quantité de mémoire disponible)
Nombre maximal de champs de valeur par rapport de graphique croisé dynamique256
Formules d’élément calculées dans un rapport de graphique croisé dynamiqueLimité par la quantité de mémoire disponible
Longueur du nom MDX pour un élément de tableau croisé dynamique32 767
Longueur pour une chaîne relationnelle de tableau croisé dynamique32 767


A+ à tous
 

Discussions similaires

Réponses
6
Affichages
345

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11