Bonjour,
cjfj wrote:
Bonjour
Quelle commande faut-il utiliser pour :
- mettre en place l'autofiltre
- supprimer le filtre (tout en laissant l'autofiltre en place)
Merci
Michel
Joyeux Noël à toutes et à tous
Sub ActiverAutoFiltre
oDoc = ThisComponent
If Not oDoc.DatabaseRanges.hasByName("MaPlage") Then
oSheet = ThisComponent.getSheets().getByName("Feuille1")
oAddr = oSheet.getCellRangeByName("A1:B11").getRangeAddress()
oDoc.DatabaseRanges.addNewByName("MaPlage", oAddr)
End If
oRange = oDoc.DatabaseRanges.getByName("MaPlage")
'On active l'autofiltre ici, pour la plage précédemment définie
oRange.AutoFilter = True
End Sub
Sub DesactiverFiltre
oDoc = ThisComponent
oSheet = ThisComponent.getSheets().getByIndex(0)
oRows = oSheet.Rows
laPlage = "MaPlage"
oRange = oDoc.DatabaseRanges.getByName(laPlage)
'pour exemple
'récupération des limites de la plage
With oRange
ligneDeb = .DataArea.StartRow
ligneFin = .DataArea.EndRow
End With
'on boucle sur toutes les lignes
'en les rendant visibles
For i = ligneDeb To ligneFin
oRow = oRows.getByIndex( i )
oRow.IsVisible = True
Next
End Sub
Bon NOËL ;)