Crée un graphique sur une nouvelle feuille.
Syntaxe
CHGVAR |
VAR(&CMD) VALUE('XLDRAWGR') |
CHGVAR |
VAR(&PARM1) VALUE('sélection') |
CHGVAR |
VAR(&PARM2) VALUE(' ''TYPE'' ''[ROWS|COLS]'' + ''Nb_Categorie'' ''Nb_Serie'' ''Name'' ') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
Paramètres
Paramètres |
|
Parm1 |
Sélection
des cellules de données contenant les données et/ou les étiquettes de données
(coordonnées séparées par un : - deux points -) . Si
plusieurs cellules sont indiquées, elles doivent être séparées par un ;
(point virgule). |
Parm2 |
Autres paramètres
- Le type de graphique (AREA, BAR, COLUMN, LINE, RADAR, DONUT, XYSCATTER, 2DPIE, 3DAREA, 3DBAR, 3DCOLUMN, 3DLINE, 3DPIE). - La disposition des données (ROWS ou COLS). - Le nombre de lignes ou de colonnes de la plage source qui contiennent les étiquettes des catégories. - Le nombre de lignes ou de colonnes de la plage source qui contiennent les étiquettes des séries. - Le titre du graphique.
|
Exemple 1
Construire un graphique d'après le tableau Excel suivant :
|
A |
B |
C |
1 |
Années |
ITEMSTOTAL |
AMOUNTPAID |
2 |
2001 |
162 730,05 € |
162 730,05 |
3 |
2002 |
315 910,20 € |
273 096,75 |
4 |
2003 |
162 379,40 € |
162 379,40 |
5 |
2004 |
953 405,35 € |
786 008,75 |
6 |
2005 |
967 225,30 € |
935 238,30 |
7 |
2006 |
360 950,80 € |
|
8 |
2007 |
65,00 € |
|
PGM
DCL VAR(&HANDLE) TYPE(*CHAR) LEN(50)
DCL VAR(&CMD) TYPE(*CHAR) LEN(10)
DCL VAR(&OPT) TYPE(*CHAR) LEN(1)
DCL VAR(&PARM1) TYPE(*CHAR) LEN(512)
DCL VAR(&PARM2) TYPE(*CHAR) LEN(1024)
DCL VAR(&RESULT) TYPE(*CHAR) LEN(512)
LNCOPEN
LNCCMD CMD(EXCELOPEN)
LNCCMD CMD(XLOPENFILE) +
PARM1('%LNCDIR%\samples\test.xls') +
PARM2(visible)
LNCCMD CMD(XLDRAWGR) PARM1('A1:C8') +
PARM2('''COLUMN'' ''COLS'' ''1'' ''1'' ''TEST1''')
LNCCMD CMD(EXCELSHOW)
LNCCMD CMD(END)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) +
MSGDTA(&RESULT) MSGTYPE(*INFO)
LNCCLOSE
ENDPGM
Exemple 2
PGM
LNCOPEN
LNCCMD CMD(EXCELOPEN)
LNCCMD CMD(XLOPENFILE) +
PARM1('%LNCDIR%\samples\test.xlsx')
LNCCMD CMD(XLDRAWGR) PARM1('Sheet1!$A$1:C$4') +
PARM2('''COLUMN'' ''COLS'' ''1'' ''1'' +
''TEST1''')
LNCCMD CMD(XLMETHOD) +
PARM1('Sheets.Item("Chart1").Select')
LNCCMD CMD(EXCELSHOW)
LNCCLOSE
ENDPGM
Exemple 3: plusieurs cellules définies (limite 260 caractères)
LNCCMD CMD(XLDRAWGR) +
PARM1('Sheet1!$A$1;Sheet1!$A$2;Sheet1!$A$3;+
Sheet1!$A$4;Sheet1!$A$5;Sheet1!$A$6;Sheet1!+
$A$7;Sheet1!$A$8;Sheet1!$B$1;Sheet1!$B$2;Sh+
eet1!$B$3;Sheet1!$B$4;Sheet1!$B$5;Sheet1!$B+
$6;Sheet1!$B$7;Sheet1!$B$8;Sheet1!$C1;Sheet+
1!$C$2;Sheet1!$C$3') PARM2('''COLUMN'' +
''COLS'' ''1'' ''1'' ''TEST1''')
Exemple 4: utilisation zone de données "data"
LNCCMD CMD(XLDRAWGR) PARM1('Sheet1!data') +
PARM2('''COLUMN'' ''COLS'' ''1'' ''1'' +
''TEST1''')
Exemple 5 :
CHGVAR VAR(&CMD)VALUE('XLDRAWGR')
CHGVAR VAR(&PARM1)VALUE(' A2:D3 ')
CHGVAR VAR(&PARM2) +
VALUE(' ''3DPIE'' ''ROWS'' ''1'' ''0'' ''Market'' ')
CALL PGM(LNCCMD) PARM(&HANDLE &CMD &OPT +
&PARM1 &PARM2 &RESULT)
Notes
Les fonctions de tracé de graphiques dans LAUNCHER sont limitées avec XLDRAWGR.
Pour modifier certaines propriétés du graphique, vous pouvez utiliser la commande XLMETHOD qui permet d'exécuter depuis l'AS/400 des méthodes VBA Excel :
LNCCMD CMD(XLMETHOD) PARM1('ActiveSheet.ChartObjects.Item("Graphique 1").Activate')
LNCCMD CMD(XLMETHOD) PARM1('ActiveChart.ApplyDataLabels(xlDataLabelsShowValue)')
Pour avoir une idée des méthodes à appeler, placez vous sous Excel en mode "Enregistrement de macros" : Menu "Outils" – "Macro" – "Nouvelle macro".
Faites les opérations désirées au clavier et souris.
Arrêtez l'enregistrement de macro, et allez voir le code généré par Excel : Menu "Outils" – "Macro" – "Macros" – "Modifier"
Exemple :
La macro qui active le graphique et modifie une propriété est la suivante :
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowPercent, LegendKey:=True _
, HasLeaderLines:= False
Note : Il y a 2 différences à noter entre la syntaxe VB de Excel et la syntaxe LAUNCHER :
1) Quand on sélectionne un objet d'une collection, il faut ajouter ".Item" après le nom de la collection.
Pour sélectionner "Graphique 1" dans la collection des graphiques, la syntaxe VB est la suivante :
ActiveSheet .ChartObjects("Graphique 1")
Elle devient :
ActiveSheet .ChartObjects.Item("Graphique 1")
2) Les noms de paramètres ( Nom:=valeur ) est propre à la syntaxe VB.
Avec LAUNCHER, il faut lister les valeurs de chaque paramètre, dans l'ordre attendu, séparés par ';'.
L'instruction suivante :
ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowPercent, LegendKey:=
Devient :
ActiveChart.ApplyDataLabels(xlDataLabelsShowPercent;True)
Sinon, optez pour l'écriture d'une macro sous Excel, que vous appellerez par XLEXEMACRO.