Rem. —— Renvoie une collections d'objets de type SsGroup. Ceux ci ont essentiellement
' une propriété Id (As Variant) et une autre Contenu (As Collection). Une propriété Tag
' leur a toutefois été ajoutée à toutes fin utiles à son exploitation.
' Plg: La plage à partir de laquelle doit être contituée la collection.
' ColOrd: liste de valeurs entières dont les signes représentent le sens croissant ou décroissant
' du tri des arguments, et les valeurs absolues leurs numéros de colonnes relatifs dans Plg.
' Remarque: Cette liste supporte désormais en son sein un élément non numérique ou = 0.
' Celui ci marquera la fin des colonnes définissant l'organisation emboîtée du
' résultat, mais pas la fin des colonnes spécifiables ensuite, sur lesquelles
' portera encore le classement des lignes de détail.
#If False Then ' Le résultat de GroupOrg peut être Affecté à une variable :
Dim MonGroupeOrganisé As Collection, MaPlage As Range
Set MonGroupeOrganisé = GroupOrg(MaPlage, 1, 2, -3)
' Mais dans la plupart des cas on programmera plus tôt quelque chose comme :
Dim RGlobal As SsGroup, RNiv2 As SsGroup, ValsLigne As Variant
For Each RGlobal In GroupOrg(MaPlage, 1, 2) ' qui englobera d'autres :
For Each RNiv2 In RGlobal.Contenu
For Each ValsLigne In RNiv2.Contenu
FaireQuelqueChoseDe ValsLigne(3), pour:=RGlobal.Id, et:=RNiv2.Id
Next ValsLigne, RNiv2, RGlobal
#End If ' La collection Contenu de la dernière colonne contiendra dans chacun de ses items
' une table à une seule dimension des valeurs de la ligne.