Page 1 sur 1

[Résolu][Calc] disposition d'une table dynamique

MessagePublié: 06 Mai 2021 03:50
par Grilladou

La modération vous a écrit: Suppression du terme Problème qui n'est pas explicite de votre question


Bonjour à tous
Je cherche à créer une table dynamique qui fait un décompte (COUNT) et une moyenne (AVERAGE) sur 2 données différentes. Je me suis largement inspiré de codes trouvés sur ce forum, mais je bloque sur la présentation de la table dynamique. Dans le fichier exemple, il y a la feuille des données et la feuille de la table dynamique souhaitée. La macro crée une feuille "TCD obtenu". Concrètement, la macro affiche les champs de données en ligne dans la même colonne [C en l'occurrence] alors que je voudrais ces champs de données en colonne (de B à D).
De plus y a un truc qui m'échappe. La ligne
Code : Tout sélectionner   AgrandirRéduire
Champs(2).SetPropertyValue("Function", com.sun.star.sheet.GeneralFunction.COUNT)

renvoie un faux résultat car elle fait une somme (SUM) et non un décompte (COUNT). J'ai du louper qqchose malgré ma consultation de la page https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/GeneralFunction.html
Si qqun à une idée, je suis preneur.
Un grand merci par avance
(la mise en forme des cellules est manuelle, je ferai par macro quand ce problème sera résolu)

Re: [Calc] Problème de disposition d'une table dynamique

MessagePublié: 06 Mai 2021 07:35
par rollmops
Bonjour,

Utilise XRay et inspecte ton TCD obtenu.
Tu verras comment il est construit au niveau des DataFields.

Re: [Calc] Problème de disposition d'une table dynamique

MessagePublié: 06 Mai 2021 21:09
par Grilladou
Bonsoir à tous,
A priori, j'ai trouvé la solution (merci Google), je teste et si le résultat est bien conforme je posterai la solution. Ca peut toujours intéresser qq'un.
A cette étape là, je baliserai en "Résolu" (trop tôt pour le goudron et les plumes :D )

Re: [Calc] Problème de disposition d'une table dynamique

MessagePublié: 07 Mai 2021 08:56
par rollmops
Grilladou a écrit:A priori, j'ai trouvé la solution (merci Google)

A priori, tu n'as pas installé XRay :(

[Résolu] [Calc] disposition d'une table dynamique

MessagePublié: 08 Mai 2021 05:13
par Grilladou
A priori, tu n'as pas installé XRay :(


Si, si mais pas simple de trouver un paramètre quand on ne sait pas ce que l'on cherche. Toutefois, j'ai vu que "Orientation integer" pouvait peut-être m'intéresser. Google m'a emmené sur ce forum : Data Pilot Tables - setting the 'Position' property https://forum-test.openoffice.org/en/forum/viewtopic.php?f=45&t=56087 et de rebonds en rebonds, je suis revenu à la maison, puisque Piaf a indiqué la solution ici même https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=46965

Pour résumer, il faut ajouter
Code : Tout sélectionner   AgrandirRéduire
oField = oTableDescr.getDataPilotFields().getByName("Données")
oField.Orientation = com.sun.star.sheet.DataPilotFieldOrientation.COLUMN

pour ajouter une présentation en colonne et
Code : Tout sélectionner   AgrandirRéduire
oField = oTableDescr.getDataPilotFields().getByName("Données")
oField.Orientation = com.sun.star.sheet.DataPilotFieldOrientation.ROW

pour une présentation en ligne.

Testé et approuvé. Un grand merci Piaf pour ta solution (cette fois, je passe en résolu).
Bonne journée