Pas tout compris.... on dirait que mon post n'a pas été enregistré.....
Je suis parti de ton fichier de ton 1er Post
la solution toute simple en fait
let
Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
//****************************************************************************************
//* On retient les non NULL
//****************************************************************************************
TB_NON_NULL = Table.SelectRows(Source, each [Colonne1] <> null),
NB_NON_NULL = Table.RowCount(TB_NON_NULL),
//****************************************************************************************
//* On calule le nombre de PUT
//****************************************************************************************
TB_PUT = Table.SelectRows(TB_NON_NULL, each [#"C/P"] = "Put"),
NB_PUT=Table.RowCount(TB_PUT),
//****************************************************************************************
//* On calule le nombre de CALL
//****************************************************************************************
TB_CALL = Table.SelectRows(TB_NON_NULL, each [#"C/P"] = "Call"),
NB_CALL=Table.RowCount(TB_CALL),
//****************************************************************************************
//* Préparation des tris pour la syntaxe à retenir
//****************************************************************************************
// TRI_ASCENDING = Table.Sort(TB_NON_NULL,{{"Strike", Order.Ascending}}),
//TRI_DESCENDING = Table.Sort(TB_NON_NULL,{{"Strike", Order.Descending}}),
//AUTRE_TRI= Table.Sort(TB_NON_NULL,{{"Side", Order.Descending}}),
//****************************************************************************************
SORT=if NB_NON_NULL = NB_PUT
then Table.Sort(TB_NON_NULL,{{"Strike", Order.Descending}})
else if NB_NON_NULL = NB_CALL
then Table.Sort(TB_NON_NULL,{{"Strike", Order.Ascending}})
else Table.Sort(TB_NON_NULL,{{"Side", Order.Descending}})
in
//TB_NON_NULL
// TB_CALL
// TB_PUT
// NB_PUT
// NB_CALL
SORT