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

 Permet d’effectuer des actions sur une cellule ou un groupe de cellules.

 

- Lire la valeur

- Modifier la valeur

- Modifier la formule de la cellule

- Modifier le format

- Affecter un nom

- Modifier des propriétés

- Lire une propriété

 

Syntaxe

 

CHGVAR

VAR(&CMD) VALUE('XLCELLS')

CHGVAR

VAR(&PARM1) VALUE('
[Ref="Référence de cellules"]
[;Sheet="Nom de la feuille"]
[;Row= Numéro de ligne ou déplacement ]
[;Col= Numéro de colonne ou déplacement ]
[;RowCnt= Nombre de lignes sélectionnées ]
[;ColCnt= Nombre de colonnes sélectionnées ]
[;RefTo= "Référence de fin de zone sélectionnée" ]
[;NextOutLine="Niveaux"]
[;SetValue=True/False ]
[;SetFormula=True/False ]
[;Format="Format à affecter"]
[;Name="Nom à affecter"]
[;Comment="Commentaire"]
[;GetValue=True/False]
[;GetText=True/False]
[;GetProp("Propriété")]
[;GetSize=True/False]
[;Select=True/False]
[;Clear=True/False]
[;Freeze=True/False]
[;Calculate=True/False]
[;Merge=xlColumn|xlNone|xlAll]
[;Prop(propriétés)=Valeur de propriété]
[;DateFmt(Format date)]
[;NumFmt(Format nombres)]

[;IgnoreError=True/False]
[;Unicode=True/False]
')

CHGVAR

VAR(&PARM2) VALUE('Valeur affectée aux cellules')

CALL

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

&PARM2 &RESULT)

 

Paramètres

Paramètres

 

Parm1

Ref : La référence à la cellule 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 donné à une cellule ou un groupe de cellules.

- "." désignera la cellule active.

 

Sheet : Indique le nom de la feuille à adresser.

Si un nom de cellule est indiqué par Ref, alors le mot clé Sheet n’est pas utile.
Sinon, si le mot clé Sheet est absent, c’est la feuille active qui est adressée.

 

Row, Col : Ces deux mots clés représentent respectivement :

- Les coordonnées (Ligne, Colonne) d’une cellule, si Ref est absent.

- Les coordonnées relatives en lignes et colonnes depuis la base référencée par "Ref=" quand ce dernier est présent. La cellule en haut à gauche a pour coordonnées relatives (1,1).

 

RowCnt , ColCnt : Ces deux mots clés représentent respectivement le nombre de lignes et de colonnes sélectionnées, à partir de la référence données par Ref ou par (Row, Col).
Ces mots clés ne peuvent pas être utilisés si RefTo est spécifié.

 

RefTo : Référence à la cellule en bas et à droite de la zone sélectionnée. Cette référence est donnée par des mots clé Ref, Row et Col, dans une chaîne entre guillemets.
Ce mot clé ne peut pas être spécifié si RowCnt ou ColCnt sont spécifiés.

 

NextOutline: Quand cette option est spécifiée, LAUNCHER Office recherche la prochaine ligne à partir de la cellule active, ayant un niveau de hiérarchie correspondant aux critères.
Les lignes ont des niveaux de hiérarchie différents quand des sous-totaux ont été appliqués à la feuille.
Dans la syntaxe NextOutline="x-y", x représente le niveau de hiérarchie minimum, y le niveau maximum.
Exemple : La syntaxe suivante recherche la ligne de sous-total suivante et applique des formats couleurs de fond et de caractère :

NEXTOUTLINE="1-2";SELECT;IgnoreError; PROP(INTERIOR.COLOR)=RGB(200;200;200); PROP(Font.Bold)= True

 

SetValue : Indique que le paramètre Parm2 contient une valeur à affecter à la cellule.

 

SetFormula : Indique que le paramètre Parm2 contient le texte d’une formule à appliquer à la cellule.

 

Format : Permet de fixer le format de la cellule ou du groupe de cellules.

 

Name : Donne un nom à la cellule ou groupe de cellules.

 

Comment : Ajoute un commentaire à la cellule. Ce commentaire est affiché par Excel quand on survole la cellule avec la sourie.

 

GetValue : Indique que l’on veut recevoir la valeur interne de la cellule, et non la valeur affichée. La valeur sera retournée dans le paramètre &RESULT.

 

GetText : Indique que l’on veut recevoir la valeur affichée de la cellule. La valeur affichée peut différer de la valeur interne.
Par exemple, si la cellule a un format "Pourcentage", la valeur interne "0,10" sera affichée "10,00%".
La valeur sera retournée dans le paramètre &RESULT.

 

GetProp("Propriété") : retourne la valeur d’une propriété affectée aux cellules de la région référencée.
Exemples :
Prop("Address") retourne les coordonnées de la région référencée.
Prop("Font.color") retourne la couleur des caractères.

 

GetSize : Retourne dans &RESULT la taille de la région référencée par Ref.
La taille est retournée dans &RESULT sou la forme :
lllll ;ccccc
lllll représente le nombre de lignes sur 5 chiffres,
cccc représente le nombre de colonnes sur 5 chiffres.

 

Select : True indique que la cellule ou le groupe de cellules doivent être sélectionnés.

 

Clear : True efface la cellule.

 

Freeze : True remplace les expressions par leur valeur calculées.

 

Calculate : True recalcule l’ensemble du classeur.

 

Merge : Quand ce mot clé est spécifié, la fusion des cellules de la sélection est modifiée.
Merge peut prendre une des valeurs symboliques suivante, exprimée sans guillemets :


xlAll : L’ensemble des cellules de la sélection sont fusionnées en une seule cellule.
xlColumn : Les cellules de chaque ligne de la sélection sont fusionnées pour former une cellule fusionnée par ligne.
xlNone : La fusion est supprimée.
Attention, si des cellules fusionnées contiennent des valeurs, Excel affiche un message pour demander confirmation de la perte de ces valeurs.
Utilisez la commande XLSETPROP, avec "DisplayAlerts=false"
pour désactiver l’affichage de ce message.

 

Prop() : permet de modifier une propriété des cellules pointées.
Le mot clé "Prop" peut figurer plusieurs fois dans Parm1.
Exemple : Changer la couleur de fond, et l’alignement
Prop(Interior.color)=RGB(100,0,0);Prop(HorizontalAlignment)=xlCenter.

 

IgnoreError : Si cette option est vraie, en cas d’erreur, aucun message sera généré, et la valeur « *ERROR » sera retournée dans &RESULT.

 

DateFmt(format) : Quand une valeur de date est fournie dans le paramètre "Parm2", ce mot clé indique dans quel format se trouve cette valeur.
Les chaînes dd, mm, yy et yyyy seront utilisées pour désigner respectivement, le jour, le mois, l'année sur 2 chiffres et l'année sur 4 chiffres.
Par défaut, Excel considère les dates au format 'mm/dd/yyyy'

Exemples:
DateFmt(dd/mm/yyyy) indique que la date est fournie en format Jour-Mois-Année, séparés par '/'.
DateFmt(yyyymmdd), la date est au format Année-Mois-Jour, sans séparateur.

 

NumFmt(format) Quand un nombre décimal, sans séparateur décimal, est fourni dans le paramètre "Parm2", ce mot clé indique combien de décimales comporte ce nombre.
Exemple:
Parm2='123456';
NumFmt(2) indique que la valeur envoyée est : 1234,56.

 

Unicode : Quand Unicode est vrai, la valeur lue par GetValue, GetText, ou écrite par SetValue est dans le jeu de caractère Unicode de Windows.
Pour écrire une valeur en Unicode, il faut que &PARM2 contienne une chaîne Unicode, pouvant être convertie par le programme
LNCCVTWCS.
Lors d’une lecture d’une valeur, le paramètre &RESULT contiendra une valeur en Unicode, que l’on pourra convertir avec
LNCCVTWCS.

 

Parm2

Si le mot clé SetValue ou SetFormula apparaissent dans Parm1, alors Parm2 contient le texte de la valeur ou formule.

Si l’option Unicode=True est fixée, le contenu de &Parm2 doit être en format Unicode Windows,
et le paramètre &OPT doit avoir la valeur 'W'.

 

Opt

Quand Unicode est vrai, &OPT doit avoir la valeur 'W', et &PARM2 doit contenir une chaîne Unicode Windows.

 

 

 

Exemples

 

 

 

/* Lire la valeur de la cellule B2 */
/* et lui affecter une nouvelle valeur */

CHGVAR

VAR(&CMD) VALUE('XLCELLS')

CHGVAR

VAR(&PARM1) VALUE('Ref="$B$2";SetValue=True;GetText=True')

CHGVAR

VAR(&PARM2) VALUE(&NEWVAL)

CALL

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

&PARM2 &RESULT)

 

/* &RESULT contient l’ancienne valeur de B2 */

 

 

/* Changer le format de la cellule Ligne 10, Colonne 5 */

CHGVAR

VAR(&CMD) VALUE('XLCELLS')

CHGVAR

VAR(&PARM1) VALUE('Row=10;Col=5;Format="# ##0,00"')

CHGVAR

VAR(&PARM2) VALUE(' ')

CALL

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

&PARM2 &RESULT)

 

 

 

 

/* Ecrire un texte Chinois dans une cellule */

 

/* Convertir depuis CCSID chinois vers unicode Windows */

CHGVAR

VAR(&WCS_LEN) VALUE(512)

CHGVAR

VAR(&CCSID) VALUE(835)

CALL

PGM(LNCCVTWCS) PARM(&HANDLE '*TO ' &PARM2 &WCS_LEN +

&CHINA &CHINA_LEN &CCSID &RES_SIZE)

 

 

CHGVAR

VAR(&CMD) VALUE('XLCELLS')

CHGVAR

VAR(&PARM1) VALUE('Ref="$B$2";SetValue=True;Unicode=True')

CALL

PGM(LNCCMD) PARM(&HANDLE &CMD 'W' &PARM1 +

&PARM2 &RESULT)

 

 

 

 

/* Sélectionner une zone de 3 lignes, 5 colonnes */
/* A partir de la cellule nommée "Table". */

CHGVAR

VAR(&CMD) VALUE('XLCELLS')

CHGVAR

VAR(&PARM1) VALUE('Ref="Table";RowCnt=3;ColCnt=5;Select')

CHGVAR

VAR(&PARM2) VALUE(' ')

CALL

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

&PARM2 &RESULT)

 

 

 

 

/* Sélectionner une zone */
/* depuis la cellules nommée "Table" */
/* jusqu’à la cellule nommée "FinTable".*/

CHGVAR

VAR(&CMD) VALUE('XLCELLS')

CHGVAR

VAR(&PARM1) VALUE('Ref="Table";RefTo="FinTable";Select')

CHGVAR

VAR(&PARM2) VALUE(' ')

CALL

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

&PARM2 &RESULT)

 

 

 

 

/* Sélectionner une zone */
/* depuis la cellules nommée "Table" */
/* jusqu’à la cellule Ligne 12 , colonne 20.*/

CHGVAR

VAR(&CMD) VALUE('XLCELLS')

CHGVAR

VAR(&PARM1) VALUE('Ref="Table";+
RefTo="Row=12;Col=20";Select')

CHGVAR

VAR(&PARM2) VALUE(' ')

CALL

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

&PARM2 &RESULT)

 

 

/* Application formule */

LNCCMD CMD(XLCELLS) PARM1('Ref="H8";setformula=True;calculate=True')

PARM2('=IF(ISERROR(-1+D5/E5)," ",-1+D5/E5)')

 

Voir aussi l'exemple : Programme CL avec passage de paramètre

 

Note

Pour utiliser la propriété Font.Color, il faut utiliser les codes couleur Windows.

Soit les constantes:

 

Soit les valeurs:

 

 

PROP(Font.Color)=vbMagenta

PROP(Font.Color)=INT(255) //pour rouge

 

On peut aussi utiliser les valeurs BGR avec la fonction RGB : RGB(blue,green,red). 

 

PROP(Font.Color)=RGB(255,0,0) //bleu

PROP(Font.Color)=RGB(0,255,0) // vert

PROP(Font.Color)=RGB(0,0,255) // rouge