Procédure récursive
PROCEDURE ChargeGroup(LOCAL nIDCatégorie = 0, LOCAL sNoeudParent = "Famille") nPosition est un entier POUR TOUT Group AVEC IDGroupParent = nIDCatégorie // Ajoute dans l'arbre ArbreAjoute(ARBRE_Group, sNoeudParent + TAB +Group.Name1,aDéfaut,aDéfaut,Group.IDGroup,aTriAlpha,Group.Name1) // Sauvegarde de la position en cours dans le parcours nPosition = HSauvePosition(Group) // On rempli les enfants de cette catégorie ChargeGroup(Group.IDGroup, sNoeudParent + TAB + Group.Name1) // Une fois, qu'on a rempli les enfants, on revient au parcours initial HRetourPosition(nPosition) FIN ArbreDérouleTout(ARBRE_Group)