Bonjour à vous,

J'aimerai savoir s'il est possible de créer son propre AutoFilter ?
J'ai vu qu'on pouvait créer un filtre avec un TableFilterField :

Dim FiltreDesc as Object
Dim FiltreProp(0) as new com.sun.star.sheet.TableFilterField

FiltreDesc = MaFeuille.createFilterDescriptor(true) 'création du
"descripteur" de filtre

FiltreProp(0).Field        = 2
FiltreProp(0).IsNumeric   = false
FiltreProp(0).Operator     = com.sun.star.sheet.FilterOperator.EQUAL
FiltreProp(0).StringValue = "test"

Mais je n'ai pas réussi à faire le lien avec un AutoFilter.

Dans la liste de l'AutoFilter il y a : tout, Standard, Top 10 ..., l'idée
serait d'avoir dans cette liste son "propre" filtre ou bien de pouvoir
modifier directement le Standard avec ses propres options.

J'ai essayé de voir avec le dispatcher en passant par un TableFilterField
au DataFilterAutoFilter sans succès non plus.

sub TestAutofiltre
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1:$A$7"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DataFilterAutoFilter", "", 0,
Array())

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:DataFilterStandardFilter",
"", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:FilterExecute", "", 0, Array())


Merci à vous.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à