--- /dev/null
+[(#REM)
+
+ ### /!\ boucle POUR (spip Bonux) ###
+
+ Parametres :
+ - datas : tableau de donnees cle=>valeur
+ - option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
+ - cacher_option_intro : pas de premier option vide (defaut:"")
+ - class : classe(s) css ajoutes au select
+ - defaut : valeur par defaut si pas présente dans l'environnement
+ - valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
+
+ Exemple d'appel :
+ [(#SAISIE{selection_multiple,produits,
+ label=<:plugin:info_produits:>,
+ datas=#ARRAY{
+ cle1,valeur1,
+ cle2,valeur2,
+ cle3,valeur3}})]
+]
+
+[(#REM) datas peut être une chaine qu'on sait décomposer ]
+#SET{datas, #ENV{datas}|saisies_chaine2tableau}
+
+[(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
+#SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
+
+[(#REM) valeur peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
+#SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
+
+<select name="#ENV{nom}[]" id="champ_#ENV{nom}" multiple="multiple"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size,10})"]>
+[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
+<BOUCLE_selection(POUR){tableau #GET{datas}}>
+ <option value="#CLE" [(#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui) selected="selected"]>#VALEUR</option>
+</BOUCLE_selection>
+</select>