PreviousNext
Help > Programmation avec LAUNCHER Office > Les commandes LNCCMD > Liste des commandes > Commande XLSUBTOTAL
Commande XLSUBTOTAL

Permet d’appliquer une fonction de totalisation par groupe de lignes, sur des colonnes dans une sélection.

 

Syntaxe

 

CHGVAR

VAR(&CMD) VALUE('XLSUBTOTAL')

CHGVAR

VAR(&PARM1) VALUE('
TotalList="liste"

[;Ref="Référence de cellules sélectionnées"]
[;Sheet="Nom de la feuille"]
[;RefTo="Référence de fin de zone sélectionnée"]
[;GroupBy=Rang de colonne]
[;Function=Code de fonction]
[;Replace=True/False]
[;PageBreaks=True/False]
[;SummaryBelowData=xlSummaryAbove/xlSummaryBelow]
')

CHGVAR

VAR(&PARM2) VALUE(' ')

CALL

PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 +

&PARM2 &RESULT)

 

Paramètres

 

Paramètres

 

Parm1

TotalList : Liste des rangs des colonnes sur lesquelles la fonction doit être appliquée (paramètre Function).
Les colonnes sont numérotées de 1 à n.
Les numéros sont séparés par le charactère "point virgule", dans une liste entre guillemets. Obligatoire.

 

Ref : La référence de la zone à traiter.

1) Soit on spécifie le nom de la zone.

2) Soit on spécifie la référence de la cellule en haut à gauche de la zone à redimensionner.

La référence de la cellule en haut à gauche peut être donnée sous la forme :

- Syntaxe $B$3. Exemple : $B$3 désigne la colonne B, ligne 3.

- Syntaxe CL. C pour désigner la colonne et L pour désigner la ligne. Exemple : B3 désigne la ligne 3, et la colonne 2 (B).

- Nom symbolique.

Dans ce cas-là on utilise RefTo pour spécifier la référence de la cellule en bas à droite de la zone à traiter.


Si Ref est absent, toutes les cellules de la feuille seront traitées.

 

Sheet : Indique le nom de la feuille à traiter.

Si Sheet est absent, c’est la feuille active qui sera traitée.

 

RefTo : Référence à la cellule en bas et à droite de la zone sélectionnée. Cette référence est donnée sous la forme :

- Syntaxe $B$3. Exemple : $B$3 désigne la colonne B, ligne 3.

- Syntaxe CL. C pour désigner la colonne et L pour désigner la ligne. Exemple : B3 désigne la ligne 3, et la colonne 2 (B).

- Nom symbolique.

 

GroupBy : Cette option indique le rang de la colonne à utiliser pour regrouper les totalisation. Les colonnes sont numérotées de 1 à n.

Valeur par défaut = 1.

 

Function : Désigne la fonction à appliquer.
Les valeurs possibles sont :

xlAverage, xlCount, xlCountNums, xlMax, xlMin, xlProduct, xlStDev, xlStDevP, xlSum, xlUnknown, xlVar, xlVarP.

Consultez la documentation de Microsoft Excel pour plus de détail sur ces fonctions.

Valeur par défaut : xlSum.

 

Replace : False pour ne pas remplacer les actuels sous-totaux.
Par défaut, les sous-totaux sont remplacés (True).

 

PageBreaks : Pour ajouter un saut de page après chaque groupe.

Valeur par défaut : False.

 

SummaryBelowData : Permet de choisir la position des sous-totaux.

Les valeurs possibles sont :
xlSummaryAbove pour placer les sous-totaux avant chaque groupe de données.
xlSummaryBelow (Défaut) pour placer les sous-totaux après les dobbées du groupe.

 

 

 

Exemple

 

Dans l’exemple suivant,  des sous-totaux sont créés pour la colonne 12, avec des regroupements opérés en fonction des colonnes 1 et 6.

L’ensemble des cellules de la feuille "data" sont prises en compte.

PGM

                                                         
LNCOPEN


LNCCMD CMD(EXCELOPEN)


LNCCMD CMD(XLOPENFILE) PARM1('C:\A\DataRef.XLSX')


LNCCMD CMD(XLGOTOSH) PARM1('data')


LNCCMD CMD(XLSUBTOTAL) + 
PARM1('sheet="data";GroupBy=1;Function=xlSu+ 
m;TotalList="12"')


LNCCMD CMD(XLSUBTOTAL) + 
PARM1('sheet="data";GroupBy=6;Function=xlSu+ 
m;TotalList="12";REPLACE=FALSE')


LNCCMD CMD(XLSAVEAS) + 
PARM1('C:\A\RES.XLSX;replace=true')


LNCCMD CMD(EXCELCLOSE)


LNCCLOSE


ENDPGM 

 

Pour n’appliquer les sous-totaux que sur une sélection de cellules, on peut utiliser la commande suivante :

  LNCCMD     CMD(XLSUBTOTAL) +                             

               PARM1('Ref="A1";RefTo="N14";sheet="data";Gr+

               oupBy=1;Function=xlSum;TotalList="12"')