Bonjour. J’ai un souci avec une macro: Sur la liste suivante
test.ods (32.8 KB)
je voudrais effectuer un tri croissant, puis appliquer un filtre pour éviter les doublons.
La macro s’appelle “test” mais ne fonctionne pas. M’y serais je mal pris ?
Bonjour,
il n’y a aucune macro dans le document posté.
Effectivement elle était au mauvais endroit. Là ça devrait aller mieux.
test.ods (34.3 KB)
Le tri se fait mais le filtre ne s’applique pas !
J’ai trouvé un bout de code ici qui applique un filtre sur la colonne A: =1
Dim oSheet ' Sheet that will contain the filter.
Dim oFilterDesc ' Filter descriptor.
Dim oFields(0) As New com.sun.star.sheet.TableFilterField
oSheet = ThisComponent.getSheets().getByIndex(0)
oFilterDesc = oSheet.createFilterDescriptor(True)
With oFields(0)
.Field = 0 ' Column A
.IsNumeric = True
.NumericValue = 1
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
End With
oFilterDesc.setFilterFields(oFields())
oSheet.filter(oFilterDesc)
À mettre à la place de:
dispatcher.executeDispatch(document, ".uno:FilterExecute", "", 0, Array())
Mais cela ne répond pas à la question: comment éliminer les doublons…
Ce fil explique l’utilisation des filtres mais pas la mise en macro… La fonction de création de macro, accepte le tri mais pas le filtre, ou du moins ne l’enchaine pas.