6 messages in org.openoffice.fr.progRe: [prog] Programmer des sous-totaux...
FromSent OnAttachments
Alpha BETAAug 23, 2004 11:00 am 
Alain NowakAug 24, 2004 1:58 am 
Alpha BETAAug 24, 2004 9:18 am 
Alain NowakAug 25, 2004 2:39 am 
Alpha BETAAug 25, 2004 4:07 am 
Alpha BETAAug 25, 2004 4:28 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Programmer des sous-totaux sous calc ? UN GRAND MERCIActions...
From:Alpha BETA (bet@free.fr)
Date:Aug 25, 2004 4:07:35 am
List:org.openoffice.fr.prog

SUPER MERCI !!! Test fait sous 1.1.2 efficace pour mon code.

Je re'connais que parfois la syntaxe est toute simple et qu'il faut juste
arrêter de se compliquer la vie. Je pensais à des object Query etc... j'étais
bien loin du compte .

Merci encore mille fois merci !!! ----- Original Message ----- From: Alain Nowak To: pr@fr.openoffice.org Sent: Wednesday, August 25, 2004 11:39 AM Subject: Re: [prog] Programmer des sous-totaux sous calc ?

Bon, alors voila le code obtenu en transcrivant le Java en Basic (et testé
sous OOo1.1.2) :

Sub sousTotaux Dim oSubTotalColumn(0) as new com.sun.star.sheet.SubTotalColumn

' acces a la zone de cellules oCells = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1:C5") oSubDesc = oCells.createSubTotalDescriptor(true)

' Somme de la troisième colonne oSubTotalColumn(0).Column = 2 oSubTotalColumn(0).Function = com.sun.star.sheet.GeneralFunction.SUM ' group by first column oSubDesc.addNew( oSubTotalColumn(), 0 ) oCells.applySubTotals( oSubDesc, true ) End sub

Et voili !

-- Alain Nowak - starxpert www.starxpert.fr

Alpha BETA a écrit :

Merci de l'info, toutefois en supposant que je puisse en effet imposer une
plage par cette méthode : ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1:D6") qui pour moi deviendra dans ma macro : Asheet=ThisComponent.CurrentController.ActiveSheet Asheet.getCellRangeByName("A1:O7148")

Je reste coincé pour paramétrer createSubTotalDescriptor . Xray ne m'est
hélas pas très utile sur ce point.

Je coince vraiment .

Puis-je encore solliciter un coup de main ? Alpha

----- Original Message ----- From: Alain Nowak To: pr@fr.openoffice.org Sent: Tuesday, August 24, 2004 10:59 AM Subject: Re: [prog] Programmer des sous-totaux sous calc ?

Bonjour,

D'après l'exemple en Java, tu peux appeler createSubTotalDescriptor
directement sur un objet représentant une zone de cellule, qui est lui à obtenir
par qqchose comme : ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1:D6") (si la zone de donnée à transformer en sous-totaux est A1:D6 de la
première feuille) Sur l'objet obtenu, tu obtiens un descripteur du sous-total par
createSubTotalDescriptor, que tu vas ensuite paramétrer en indiquant sur quelles
colonnes porte le sous-total et s'il y a des groupements. Ce descripteur est
ensuite appliqué au sous-total par applySubTotals.

Bon courage,

Et si tu ne l'a pas encore fait, récupère l'outil Xray de Bernard Marcelly
(sur le site OOo), c'est souvent + rapide de trouver les méthodes qui vont bien
avec cet outil qu'en cherchant dans le Dev'Guide ...

-- Alain Nowak - starxpert www.starxpert.fr

Alpha BETA a écrit :

Bonjour,

Nouvel écueil pour moi: on vient de me demander de réaliser sous OO des
sous-totaux sur une feuille calc...

Manuelllement, c'est un vrai plaisir à manipuler.

Mais voilà, je veux aller plus loin et je tente depuis ce WE
d'automatiser la chose.

Péniblement je suis tombé sur
createUnoService("com.sun.star.sheet.SubTotalDescriptor") avec lune méthode
createSubTotalDescriptor( [in] boolean bEmpty ).

Mais plouf-plouf je suis bloqué.

Bien-sûr j'ai tenté ma chance avec l'enregistreur de macros qui comme
toujours me renvoie au Dispatcher avec une plage Array() : dispatcher.executeDispatch(document, ".uno:DataSubTotals",
"", 0,Array() )

Tout cela est bien gentil mais outre forcer l'ouverture de la boîte de
dialogue des sous-totaux propree à ma feuille active, je ne sais comment remplir
automatiquement cette boîte et encore moins comment activer ces fameux
sous-totaux. Encore une fois le dispatcher est une voie sans issue....

La seule chose que je sache est donc de devoir chercher la solution de
paramétrage du createUnoService("com.sun.star.sheet.SubTotalDescriptor") ...

Si quelqu'un peut m'aider ce serait super .

A propos le guide du developpeur propose un truc mais en JAva et je ne
sais pas quoi en faire . Même question..

Merci d'avance aux bonnes âmes qui voudront bien me donner un coup de
main!