[(#REM) data peut être une chaine qu'on sait décomposer ]
#SET{data_cols, #ENV*{data_cols}|saisies_chaine2tableau}
#SET{data_rows, #ENV*{data_rows}|saisies_chaine2tableau}
[(#REM) dans le cas d'un export des réponses, on construit des données structurées,exploitables par un script ]
[(#REM) valeur doit être un tableau ! ]
#SET{valeur, #ENV{valeur_forcee, #ENV{valeur}}|saisies_valeur2tableau}
#SET{separateur,'|'}
'}>
#SET{choix,#ARRAY}
#SET{libelles, #VALEUR|explode{'|'}}
#SET{coche, #CLE|=={#GET{valeur/#_lignes:CLE}}}
[(#ENV{multiple}|et{#ENV{multiple}|!={non}}|oui)
[(#REM)]
#SET{coche, #CLE|in_array{#GET{valeur/#_lignes:CLE}|saisies_chaine2tableau}}
]
[(#GET{coche}|oui)
[(#SET{valeur_choix,#ENV{cle_ou_valeur,valeur}|=={cle}|?{#CLE,#GET{data_cols/#CLE}}})]
#SET{choix,#GET{choix}|push{#GET{valeur_choix}}
]
[* (#GET{libelles}|table_valeur{0})#GET{separateur}][(#GET{separateur}|join{#GET{choix}})]
[(#REM) dans le cas d'un affichage de la réponse, on réaffiche la saisie en mode disabled ]
#INCLURE{fond=saisies/choix_grille,env,disabled=disabled,data_rows=#GET{data_rows},data_cols=#GET{data_cols}}