Macro tri + filtre

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…

Il y a un tutoriel sur ce sujet :
https://forum.openoffice.org/fr/forum/viewtopic.php?t=47388
:slight_smile:

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.