On peut vous aider ?

Cherchez des réponses ou parcourez les rubriques de notre documentation

Voir aussi:

< All Topics
Print

Syntaxe de création des composants (XlCode)

La création de composants se fait à l’aide de la syntaxe suivante :

¤¤ENTETE;TYPE;[SWITCH;Flag=Value];...

TYPES

TypeComposantRemarques
BBoite de saisie
LListe déroulante
RGroupe de boutons radio
KCase à cocher
CContrôle
TBoite de saisie avec un format texteEquivalent à B ;C=S ;TFMT
PDPièce jointe descendante
PAPièce jointe ascendanteNon personnalisable par défaut (équivalent à PJ + NP)
PJPièce jointePersonnalisable par défaut
DDate
HHeure
HLHyperlien
SBarre de défilement (Scrollbar)

SWITCHES

SwitchSignificationComposant
MObligatoireTous sauf Case à cocher, Contrôle, Pièce jointe descendante et Hyperlien
NPNon personnalisableTous sauf Pièce jointe descendante et Hyperlien
NRLa valeur n'est pas transmiseContrôle
EListe déroulante éditable (saisie libre)Liste déroulante
TFMTMet un format texte (@) sur le composantA appliquer sur tout composant ne contenant pas de nombre, date ou formule
NOSAVEN'affiche pas l'icône de disquette du composant pièce jointePièce jointe
IMGAffiche l'image si la pièce jointe contient une image compatiblePièce jointe
STRETCHAgrandit l'image à afficher à la taille de la cellulePièce jointe avec IMG
PROPGarde les proportions lors de l'agrandissement de l'imagePièce jointe avec IMG
NINon importable lors d'un import ExcelTous composants éditables
NENon exportable lors d'un export ExcelTous composants éditables

FLAGS

FlagSignificationValeurComposantsExemples
ITEMSDonnéesListe séparée par un caractère "Pipe" |L, R ¤¤Liste;L;ITEMS=01|02|03
¤¤Liste;L;ITEMS=A|B|C
¤¤RADIO;R;ITEMS=1|2|3|4|5|6
¤¤RADIO;R;ITEMS=A|B|C|D|E|F
ITEMSSRCSource de données dynamiquesEntête contenu dans un motif ou un Range (plage Excel)L¤¤LISTE;L;ITEMSSRC=NomEnteteMotif
="¤¤"&"LISTE;L;ITEMSSRC="&GTRANGE(RANGE)
CContraintesS :Chaîne de caractère
I : Entier
R : Réel
B, L¤¤BSAISIE;B;C=S
¤¤Liste;L;E;C=S
¤¤BSAISIE;B;C=I
¤¤Liste;L;E;C=I
¤¤BSAISIE;B;C=R
¤¤Liste;L;E;C=R
MAXValeur maximale (inf. ou égal à)Flottant ou Date ou HeureB, L, D, H, S¤¤BBSAISIE;B;C=R;MAX=10,25
¤¤Liste;L;E;C=I;MAX=20
¤¤DATE;D;MAX=23/01/2015
¤¤HEURE;H;MAX=08:25:46
¤¤SCROLLBAR;S;MAX=20
MINValeur minimale (sup. ou égal à)Flottant ou Date ou HeureB, L, D, H, S¤¤BBSAISIE;B;C=I;MIN=5
¤¤Liste;L;E;C=I;MIN=12
¤¤DATE;D;MIN=01/12/2002
¤¤HEURE;H;MIN=02:15:26
¤¤SCROLLBAR;S;MIN=-10
LLongueur maximaleEntier >= 0
0 = aucune limite
B, L, C¤¤BBSAISIE_C20;B;L=20
¤¤BBSAISIE_Comment;B;L=0
¤¤CONTROLE_LONG;C;L=0
¤¤Liste;L;E;L=0
CAPTIONTitreChaîneK ¤¤CASEACOCHER;K;CAPTION=MonTitre
Remarque : la cellule ne doit pas être centrée horizontalement pour que le libellé apparaisse
COLSDisposition des colonnesH : Horizontales
V : Verticales
Entier > 1 : Nombre de colonnes
R¤¤RADIO;R;COLS=H;ITEMS=1|2|3|4|5|6
¤¤RADIO;R;COLS=V;ITEMS=1|2|3|4|5|6
¤¤RADIO;R;COLS=6;ITEMS=1|2|3|4|5|6
MSIZETaille maximaleFlottant >= 0PA, PJ¤¤PIECE;PA;MSIZE=1
FILTERDescriptif du filtre suivi des extensions autorisées ex:
Excel, Word 2007+|*.xlsx;*.docx|Fichiers Zip|*.zip
ChaînePA, PJ¤¤PIECE;PA;"FILTER=Fichier zip|*.zip"
¤¤PIECE;PA;"FILTER=Excel, Word 2007+|*.xlsx;*.docx|Fichiers Zip|*.zip"
Remarques :
- "FILTER=xxx" est encadré par des guillemets doubles
- la liste des extensions (comme dans *.xlsx;*.docx) doit toujours être séparée par des point-virgules (;) quel que soit la langue de la machine
LINKLienChaîneHL ¤¤LIEN;HL;Link=qstp://Page n°2
¤¤LIEN;HL;Link=qsth://Entête
DISPLAYNom d’affichageChaîneTous ¤¤BBSAISIE;B;DISPLAY=NomAffichage
INCRIncrémentEntier > 1S ¤¤SCROLLBAR;S;INCR=2
DIRDisposition de la barre de défilement* H : Horizontale
* V : Verticale
S ¤¤SCROLLBAR;S;DIR=H
¤¤SCROLLBAR;S;DIR=V
DEFValeur par défaut * MIN : Valeur définie par le minimum
* MAX : Valeur définie par le maximum
* AVG : Valeur définie par la moyenne
* Entier : Personnalisée avec cette valeur
S ¤¤SCROLLBAR;S;MIN=-10;DEF=MIN
¤¤SCROLLBAR;S;MAX=20;DEF=MAX
¤¤SCROLLBAR;S;DEF=AVG
¤¤SCROLLBAR;S;DEF=6
TTri dans les listesASC = Ascendant
DESC = Descendant
L ¤¤Liste;L;ITEMS=H|A|D;T=ASC
¤¤Liste;L;ITEMS=H|A|D;T=DESC

Points de vigilance

  • Si Value contient un caractère « ; » il faut encadrer l’ensemble Flag=Value avec des doubles quotes « »
  • A l’exception du composant « barre de défilement », il n’est pas possible de spécifier une valeur par défaut pour un composant (par exemple lors de l’ajout d’une ligne dans un motif ou lors de l’ajout d’un onglet dans un multi-onglets : la valeur par défaut pour les composants sera toujours NULL). En revanche, il est possible de spécifier une valeur par défaut à l’ouverture du document en personnalisant le contenu du composant dans le cadre de l’action de lancement de collecte.
  • Il est possible – et très utile – de construire la syntaxe d’un composant à l’aide d’une formule Excel. En revanche, la formule ne sera évaluée qu’au moment de l’import dans Design. Autrement dit, il n’est pas possible d’utiliser une formule pour modifier dynamiquement la définition d’un composant lors de l’exécution du document dans GTAnswer. Par exemple, si la cellule A1 contient « MaBoiteDeSaisie » et que la cellule A2 contient le nombre 30, alors la formule = »¤¤ »&A1& »;B;C=I;MAX= »&A2 sera bien évaluée lors de l’import comme ¤¤MaBoiteDeSaisie;B;C=I;MAX=30 et elle générera bien une boite de saisie dont l’en-tête sera « MaBoiteDeSaisie » et dont la valeur maximale sera 30. En revanche, si la cellule A2 contient elle-même une boite de saisie, alors l’import dans Design générera une erreur. Cette limite permet notamment d’éviter des incohérences de type. Par ailleurs, GT implémente des fonctions permettant de réaliser un contrôle dynamique des documents et des composants. Ainsi, empêcher un utilisateur de saisir une valeur définie dynamiquement peut être réalisé à l’aide d’une fonction GTCONTRAINTE. De même, autoriser ou empécher un utilisateur de saisir en fonction d’une variable est possible à l’aide de la fonction GTVERROU, modifier dynamiquement les items d’une liste déroulante est possible à l’aide de la fonction GTLISTE, etc.

Exemples

¤¤TOTO;B;M;C=I;MAX=12;MIN=10;NP
Boîte de saisie entière obligatoire non personnalisable entre 10 et 12
¤¤TOTO;B;M;TFMT;L=50
Boîte de saisie obligatoire accueillant une chaîne de 50 caractères maximum
¤¤Commentaire;B;M;TFMT;L=0
Boîte de saisie obligatoire accueillant une chaîne sans limite de taille
¤¤TRUC;L;M;TFMT;ITEMS=01|02|03
Liste déroulante éditable, obligatoire,
(items de la liste 01,02 et 03) avec un format texte
¤¤TRUC;L;E;M;C=R;ITEMS=1|2|3
Liste déroulante éditable, obligatoire,
 n'acceptant que des chiffres réels, (items de la liste 1,2 et 3)
¤¤CTRL;C;TFMT
Contrôle accueillant des chaînes (format texte similaire à Excel)
¤¤CTRL;C
Contrôle
¤¤PIECE;PA;"FILTER=Office|*.doc;*.xls;*.ppt"
Pièce jointe ascendante avec filtre
¤¤MaDate;D;
Composant Date avec calendrier
¤¤MaDate;B;
Alternative à un composant date en ajoutant une GTCONTRAINTE avec la condition de règle et(non(esttexte(cell));non(esterreur(année(cell))))

Fonctions de déclaration d’objets

Fonctions de créations d’objets lors de l’import Excel-Design. Ces fonctions ne sont connues que de GT Design.

GTMOTIF

GTMOTIF(Name;Base_Pattern;Flags;[GTCLE(Msg_doublon;Msg_invalide;Cell1;…;CellN);[Initial_range]])

Crée un motif ayant pour nom « Name » (identifiant du motif), pour range de base Base_Pattern (cellules recopiées ou supprimées), pour range initial Initial_range (plage pour laquelle le range de base est recopié à l’ouverture du qst)

« Flags » est une chaîne qui contient les options du motif via des flags (séparés par des points virgules):

  • « ALL » : toutes les options à VRAI
  • « NONE » : toutes les options à FAUX
  • « A » : le destinataire peut ajouter des lignes
  • « S » : supprimer des lignes
  • « H » : réplique la hauteur de ligne du Base_Pattern (FAUX par défaut)
  • « T » : trier les données (FAUX par défaut)
  • « F » : filtrer les données (FAUX par défaut)
  • « V » : autoriser une seule ligne vide malgré les contraintes obligatoire (FAUX par défaut)

GTCLE (Msg_doublon ;Msg_invalide;Cell1; …;CellN)
indique la clé du motif (vide par défaut):

  • Msg_doublon  : message à afficher en cas de doublon
  • Msg_invalide  : message à afficher en cas de valeur invalide pour un élément de la clé (exp. #N/A)
  • Cell1;..;CellN : liste des cellules individuelles du motif formant la clé
Exemples
Standard
  Exemple 1 : =GTMOTIF("MonMotif_1";A3:K3;"ALL")

N'autorise pas les lignes vides
  Exemple 2 : =GTMOTIF("MonMotif_2";A6:K6;"A;S;H;T;F")

Pour les données/liste de référence
  Exemple 3 : =GTMOTIF("MonMotif_2";A6:K6;"NONE")

Pour les données/liste de référence en conservant les hauteurs de ligne
  Exemple 4 : =GTMOTIF("MonMotif_2";A6:K6;"H")

Avec une clé
  Exemple 5 : =GTMOTIF("MonMotif_1";A3:K3;"ALL";
    GTCLE("La valeur"&A3&"est en doublon";A3&"invalide";A3))

GTCONTROLE

GTCONTROLE(entête;formule)

Crée un contrôle (composant non saisissable pour le correspondant) avec l’entête « entête » et contenant la formule exprimée en deuxième argument.

Lors de l’intégration des données du questionnaire, la valeur résultat de la formule sera récupérée dans le champ « entête » dans la base de données client.

GTLISTE

GTLISTE(entête_et_flags_liste;formule_du_range_des_items_de_liste)

Crée une liste déroulante avec l’entête « entête » et les flags associés à l’entête.
Le contenu de la liste est défini par le deuxième argument qui peut être une formule et doit renvoyer dans Answer le range des items de la liste.

Exemple 1 : =GTLISTE("MaListe";B1:B3)
Exemple 2 : =GTLISTE("MaListe2";SI(A1=1;B1:B3;C1:C4))
Exemple 3 : =GTLISTE("MaListe3;M;E";DECALER(C1;0;0;nb.si(B1:B4;A1);1))

Particulièrement utile pour les listes liées

ATTENTION : Tous les range utilisés comme sources de données pointant vers une autre feuille ou pointant en-dehors du motif (si la liste se trouve dans un motif) doivent être déclarés en ABSOLU.

GTHYPERLIEN

GTHYPERLIEN(entête;libellé d'affichage ou formule;url de l'hyperlien ou formule)

Crée un hyperlien calame avec :

  • un entête
  • un libellé d’affichage
  • une url de destination

Le libellé d’affichage comme l’url de destination peuvent être le résultat d’une formule.

Note : l’entête spécifié doit être identique à l’entête du composant ciblé en respectant la casse.

Cf l’article Syntaxe des hyperliens pour les hyperliens à l’intérieur du questionnaire.

GTVERROU

GTVERROU(range;formule;[Tirer_La_Formule])

Permet de placer un verrou dynamique (empêche la saisie par le correspondant Answer) sur la plage range (1er argument), si la condition formule renvoie vrai

L’option Tirer_La_Formule permet (faux par défaut) de spécifier si la formule est adaptée (décalée) pour chacune des cellules du range de départ, devrait être spécifiée à VRAI lorsque la zone verrouillée est un range.

Note 1 : Le range doit être sur le même onglet que la macro GTVERROU

Note 2 : Pour chaque cellule d’un onglet, une seule déclaration GTVERROU est autorisée.

Note 3 : Les composants déclarés obligatoires et qui sont verrouillés ne sont plus considérés comme obligatoires lors de la transmission de la réponse

Note 4 : Les contraintes GTContrainte doivent être vérifiées même si le composant est verrouillé

Exemple 1 =GTVERROU(A1;B1>0)

le composant se trouvant en A1 sera verrouillé si B1>0

Exemple 2 =GTVERROU(A1:A3;B1>0;VRAI)

Le composant se trouvant en A1 sera verrouillé si B1>0, le composant en A2 sera verrouillé si B2>0, etc…

Exemple 3 (déconseillé) =GTVERROU(A1:A3;B1>0)

Les composants se trouvant en A1, A2 et A3 seront verrouillés si B1>0,
Expression équivalente à =GTVERROU(A1:A3;$B$1>0;VRAI)

GTCONTRAINTE

GTCONTRAINTE(Cellule d'ancrage;GTREGLE(formule de cond° à respecter;formule msg si contrainte non vérifiée[;Cible1[;Cible2;...]]) 
              [;GTREGLE(...)] )
              [;GTREGLE(...)] )

Permet de placer une contrainte qui, si non vérifiée, empêche la transmission de la réponse

Cellule désigne la cellule d’ancrage de la contrainte
Cette cellule doit se trouver à l’intérieur d’un motif si la contrainte doit être répétée sur chaque ligne du motif.

GTREGLE(…) permet de définir l’une des règles de la contrainte

Plusieurs GTREGLE peuvent se suivre dans la déclaration GTCONTRAINTE, la première condition de règle (formule) non respectée déclenchera l’affichage du message de cette règle lors de la transmission de la réponse

Si aucune cible n’est précisée, c’est la cellule d’ancrage qui sera considérée comme la cible

Note  : Toutes les références de cellules doivent être sur le même onglet que la déclaration GTCONTRAINTE

  Exemple 1 : 
=gtcontrainte(A3;gtregle(A3>0;"La valeur doit être positive:"&&A3))
  Exemple 2 : 
=gtcontrainte(A3;gtregle(A3>A4;"La valeur actuelle("&A3&")doit être supérieure à"&A4;A3;A4))
  Exemple 3 : 
=gtcontrainte(A3;gtregle(A3>B3;"trop petite");gtregle(A3<C3;"Trop grande"))

GTCONDITIONNEMENT

GTCONDITIONNEMENTLIGNE(Cellule_ancrage;formule;lignes à conditionner)
GTCONDITIONNEMENTCOLONNE(Cellule_ancrage;formule;colonnes à conditionner)
GTCONDITIONNEMENTFEUILLE(Cellule_ancrage;formule)

Permet de masquer dynamiquement des lignes, colonnes ou des feuilles, lorsque la formule renvoie vrai (deuxième paramètre de la déclaration)

Note  : La cellule d’ancrage et les lignes/colonnes/feuilles à conditionner doivent être sur le même onglet que la déclaration GTCONDITIONNEMENTxxx

Note 2 : Dans le cas d’un conditionnement pour chaque ligne d’un motif, la cellule d’ancrage de la déclaration GTCONDITIONNEMENTLIGNE doit se trouver dans le motif

Note 3 : Les composants obligatoires s’ils sont conditionnés perdent leur caractère obligatoires.
Mais les règles des GTCONTRAINTE doivent être respectées (modifier les formules des GTREGLE pour tenir compte du conditionnement).

  Exemple 1 : GTCONDITIONNEMENTLIGNE(B3;B3>0;3:3)

Masque la ligne 3 si la cellule en B3 a une valeur > 0
Le conditionnement sera recopié sur chaque ligne du motif si B3 est dans un motif.
La formule pour chaque ligne de motif sera alors B3>0, B4>0, etc… (mêmes modes de recopie des formules que pour une formule dans une cellule de motif)

  Exemple 2 : GTCONDITIONNEMENTCOLONNE(C4;C4>0;B:C)

Masque la colonne B si la cellule C4 a une valeur >0
Masque la colonne C si la cellule D4 a une valeur >0

  Exemple 3 : GTCONDITIONNEMENTFEUILLE(Feuil1!A1;D5>0)

Masque la feuille Feuil1 si la cellule D5 a une valeur >0
le conditionnement est écrit sur Feuil1

  Exemple 4 : GTCONDITIONNEMENTCOLONNE(C4;$C4>0;B:C)

Masque les colonnes B et C si la cellule C4 a une valeur >0

Cf l’article Conditionnement pour plus de précisions

GTRANGE

GTRANGE(référence)
  Permet de référencer une plage de cellule (utilisé essentiellement avec le flag ITEMSSRC pour les listes déroulantes)
  
  Exemple 1 : ="¤¤Liste1;L;M;ITEMSSRC="&GTRANGE(B2:B12)

 ATTENTION : Tous les range utilisés comme sources de données pointant vers une autre feuille 
             ou pointant en-dehors du motif (si la liste se trouve dans un motif) 
             doivent être déclarés en ABSOLU

Macros d’aide à la conception Excel

GTVALUEORCOMP

GTVALUEORCOMP(valeur_a_retourner_dans_Excel,declaration_de_composant_GT)

Permet de renvoyer dans Excel la valeur_a_retourner_dans_Excel (qui peut être une formule) et de déclarer un composant lors de l’import dans Design.

Ceci rend opérationnel dans Excel les formules se basant sur la cellule contenant le composant, facilite le test de formules et la conception de graphiques (évite les #valeur issus de formules dans Excel)

La macro commande Excel suivante suivante doit être déclarée dans un module VBA

Function GTVALUEORCOMP(v,c)
   GTVALUEORCOMP = v
End Function

Remarque : de la même manière que GTVALUEORCOMP, il peut être utile de créer une fonction VBA GTCONTROLE dans le classeur de conception. Le développeur verra alors dans Excel le résultat de la fonction.

A noter que la déclaration de deux fonctions VBA de cette façon ne permet plus aussi rapidement de voir la déclaration de composants sauf à avoir utilisé une charte graphique pour les cellules saisissables qui soit visible dans Excel.

Fonctions de calcul

Fonctions à utiliser dans le questionnaire pour effectuer différents calculs.

Ces fonctions peuvent être inscrites dans le classeur Excel d’import dans Design.
N’ayant pas d’équivalents dans Excel, ces fonctions ne renvoient pas de valeur significative dans Excel.

Cet article décrit de manière plus extensive les fonctions de calcul d’Excel utilisables dans un questionnaire : Moteur de calcul de la grille.

GTPATNUM

GTPATNUM()

Renvoie le numéro de « ligne » dans le motif. La « ligne » étant la plage de base ou plage dupliquée du motif. Voici l’article dédié à la fonction.

GTVALIDMAILADDRESS

GTVALIDMAILADDRESS()

Renvoie l’adresse mail validée dans Answer (validation par l’envoi d’un mail avec une pièce jointe .checkmail) ou le login de l’utilisateur connecté. cf Validation des adresses mail des répondants.

Attention, cette fonction est volatile.

GTADMAILADDRESS

GTADMAILADDRESS()

Renvoie l’adresse mail validée dans Answer par l’authentification dans l’Active Directory local.

Attention, cette fonction est volatile.

GTISUSERCONNECTED

GTISUSERCONNECTED()

Renvoie un booléen suivant l’état de connexion de l’utilisateur dans GTAnswer. La fonction vaut VRAI dans le cas où un utilisateur connecté ouvre un questionnaire depuis un fil de discussion ou le bouton Answer du menu Sandwich.

Attention, cette fonction est volatile.

GTMS.fonction_agreg

GTMS.SOMME(Expression_vers_au_moins_un_multionglet)
GTMS.NB(Expression_vers_au_moins_un_multionglet)
GTMS.NBVAL(Expression_vers_au_moins_un_multionglet)
GTMS.MAX(Expression_vers_au_moins_un_multionglet)
GTMS.MIN(Expression_vers_au_moins_un_multionglet)
GTMS.MOYENNE(Expression_vers_au_moins_un_multionglet)
GTMS.CONCATENER(Expression_vers_au_moins_un_multionglet)

 Expression_vers_au_moins_un_multionglet étant une formule utilisant une ou plusieurs références vers un une feuille de multi-onglet 

Dans le cadre d’un multi-onglet, GTMS.fonction_agreg renvoie la fonction_agreg de l’Expression_vers_au_moins_un_multionglet déclinée suivant tous les items du multi-onglet.

cf Synthèse de données d’un multi-onglet et
un fichier exemple GTTut-SynthGTMS-Qst.xlsx.zip.

Exemples :

=GTMS.SOMME(FeuilleMO!B1)

calculera (et lors de l’export sera convertie en)

=SOMME(Item1!B1;Item2!B1;Item3!B1)

GTMOGETSHEETNAME

GTMOGETSHEETNAME(item[,Axis[,tab_index]])

Renvoie le nom de la feuille de multi-onglet pour un item de multi-onglet spécifique, pour un axe de multi-onglet (nom de l’axe de multi-onglet) et pour l’index (base 0) de l’onglet concerné dans le groupe de multi-onglet (si le multi-onglet démultiplie plusieurs onglets de base).

Utilisé généralement avec indirect() pour récupérer hors multi-onglets des valeurs dans un multi-onglet.

Attention, après un export Excel, pour conserver les formules opérationnelles dans Excel et être compatible avec les noms d’onglets restreints d’Excel, il faut isoler l’appel à la fonction GTMOGETSHEETNAME(« Item de multi-onglet ») dans une cellule sans aucune autre fonction transformant le résultat de GTMOGETSHEETNAME.
Par exemple au lieu d’écrire =INDIRECT(« ‘ »&GTMOGETSHEETNAME(« Item de multi-onglet »)& »‘!B2″), il vaut mieux écrire =INDIRECT(« ‘ »&C4& »‘!B2 »), avec en cellule C4 =GTMOGETSHEETNAME(« Item de multi-onglet »)

cf Synthèse de données d’un multi-onglet

GTMOAXISVAL

GTMOAXISVAL([offset]) 

Renvoie l’item courant (si offset absent ou =0) ou item suivant/précédent (offset!=0) du groupe de multi-onglet courant

GTPJSIZE

GTPJSIZE(référence_cellule) 

Renvoie la taille en octets du fichier enregistré dans le composant pièce jointe situé dans la « cellule »

GTMOITEMNUM

GTMOITEMNUM() 

Renvoie le numéro de l’item du multi-onglet. Similaire à GTPATNUM() et commence à 1

GTDISPLAYTEXT

GTDISPLAYTEXT(cellule) 

Renvoie le texte affiché par la cellule (tient compte du format numérique de la cellule source)

Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
How Can We Improve This Article?
Table of Contents