Bonsoir Philippe,
Bonjour à tous,
Comme je n'ai pas trouvé la possibilité d'enregistrer une macro sous
LibreOffice (contrairement à Excel), je voulais savoir si un d'entre
vous avait déjà été confronté à un tri avec 2 critères ?
Merci par avance de votre retour.
Excellent après midi.
Amicalement,
Philippe
Par macro, on peut trier sur autant de critères qu'on veut.
Pour ça il faut deux outils : un descripteur des colonnes à trier (FieldDesc dans l'exemple) et un descripteur de tri (qui va recevoir le premier) (SortDesc dans l'exemple).
FieldDesc permet de donner le n° de la colonne de tri (.Field) et de spécifier le sens du tri (.IsAscending). Le sens du tri est ascendant par défaut, donc pas besoin a priori de mettre
FieldDesc(0).IsAscending = True
si ce n'est par souci de complétude.
L'exemple ci-dessous trie sur UNE seule colonne (col. G, position 6)
8< ----------------------------------------------------
Sub Trier()
Dim oDoc As Object
Dim oSheet As Object
Dim oRange As Object
Dim FieldDesc(0) As New com.sun.star.table.TableSortField
Dim SortDesc(2) As New com.sun.star.beans.PropertyValue
'récupérer la plage à trier
oDoc = ThisComponent
oSheet = oDoc.Sheets.getByName("Feuille1")
oRange = oSheet.getCellRangeByName("A4:G100")
'on peut aussi mettre un nom défini par ailleurs (ex : "MaPlage")
'oRange = oSheet.getCellRangeByName("MaPlage")
FieldDesc(0).Field = 6 ' colonne G (on compte à partir de 0)
FieldDesc(0).IsAscending = True
SortDesc(0).name="IsSortColumns"
SortDesc(0).value=False
SortDesc(1).name="SortFields"
SortDesc(1).value=oConfigTri()
oRange.sort(SortDesc())
End Sub
8< ----------------------------------------------------
pour trier sur DEUX colonnes (la colonne C en 2e critère, descendant), il faut déclarer un FieldDesc de plus
Dim FieldDesc(1) As New com.sun.star.table.TableSortField
et ajouter la description pour la 2e colonne, par ex :
FieldDesc(1).Field = 2 ' colonne C
FieldDesc(1).IsAscending = False
etc. pour trier sur plus de lignes.
PS : je vois que tu te plonges dans les macros. C'est un vaste monde qui s'ouvre à toi. Je ne saurais trop te conseiller de te documenter sur ce sujet.
Les sources que je connais/pratique :
-- la Bible (en français) de Marcelly et Godard
https://www.eyrolles.com/Informatique/Livre/programmation-openoffice-org-et-libreoffice-9782212132472
existe en papier et en numérique
-- l'autre Bible (en anglais) par Andrew Pitonyak
http://www.pitonyak.org/OOME_3_0.odt
et plein de forums ou de listes de diffusion 
Note que Ask est une excellente ressource aussi :
-- en anglais
https://ask.libreoffice.org/en/questions/
-- et depuis peu en français
https://ask.libreoffice.org/fr/questions/
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.
Bien cordialement,