Bonjour,
J’ai une question simple à laquelle je n’arrive pas à trouver de réponse.
Comment puis-je obtenir le numéro d’index d’une colonne selon son nom d’en-tête, c’est à dire pas “B” ou “AA”, mais “category” par exemple.
Mon code ci-dessous, je cherche juste à trier des colonnes selon leur nom en évitant d’avoir à coder en dur leur numéro d’index.
Sub Sort_l
Dim oSheet1
oSheet1=ThisComponent.CurrentController.getActiveSheet.GetName
if oSheet1 = “List” then’ [‘A’, ‘B’], sort : Name, Type
oSheet = ThisComponent.Sheets.getByName(oSheet1)
oCellrange = oSheet.getCellrangeByName("B1:BA7000")
SortDesc = oCellrange.createSortDescriptor
SortDesc(1).Value = TRUE 'ContainsHeader
Dim l1(0) as New com.sun.star.table.TableSortField
l1(0).Field = 2
l1(0).IsAscending = "True"
SortDesc(3).Value = l1() 'SortFields
oCellrange.sort(SortDesc)
Dim l2(0) as New com.sun.star.table.TableSortField
l2(0).Field = 1
l2(0).IsAscending = "True"
SortDesc(3).Value = l2() 'SortFields
oCellrange.sort(SortDesc)
end if
End Sub