Syntaxe, priez pour nous !
Comment faire pour détecter si un filtre est actif ou inactif,
sur une feuille, afin de le désactiver sans erreur, à tous les coups ???
Je débute par quelque chose...
un morceau de code, sorti d'un autre contexte.
Code : Tout sélectionner
Sub Monfiltrespecial
Dim monDocument As Object, lesFeuilles As Object, maFeuille As Object
Dim maZone As Object, criteres As Object
Dim monFiltre As Object
Dim pointResu As Object
monDocument = ThisComponent
lesFeuilles = monDocument.Sheets
maFeuille = lesFeuilles.getByName("Données")
maZone = maFeuille.getCellRangeByName("A4:N14")
'maZone.Cellbackcolor = RGB(255,0,0) 'la zone se colorise donc elle existe bien
criteres = mafeuille.getCellRangeByName("A1:N2")
'Criteres.Cellbackcolor = RGB(0,255,125) 'la zone se colorise donc elle existe bien
'xray mazone 'createFilterDescriptorByObject existe bien dans les méthodes
monFiltre = criteres.createFilterDescriptorByObject(maZone)
'xray monfiltre 'renvoie données vides
With monFiltre
.CopyOutputData = True
.ContainsHeader = True
.Orientation = com.sun.star.table.TableOrientation.COLUMNS
pointResu = mafeuille.getCellRangeByName("A20")
.OutputPosition = pointResu.CellAddress
End With
maZone.filter(monFiltre)
End Sub