Bonjour à tous !
Sous réserve d'une bonne compréhension du besoin (....), une approche Power Query, "un poil plus courte" :
let
Source = Excel.CurrentWorkbook(){[Name="Tabel1"]}[Content],
GroupBy0 = Table.Group(Source, {"Code", "CODE2", "Surface"},{}),
GroupBy1 = Table.Group(GroupBy0, {"CODE2"}, {{"Nombre", each Table.RowCount(_), Int64.Type}, {"Surface", each List.Sum([Surface]), type number}})
in
GroupBy1