Contrôles ou champs de saisie ?

lundi 29 mai 2017, par ID

À la base, un formulaire est un document comportant des questions auxquelles il faut répondre et pas forcément un type de document. Dans LibreOffice, par exemple, si on veut faire des formulaires faciles à remplir par voie électronique, on dispose de deux possibilités : créer un formulaire xml avec des contrôles ou générer un document texte avec des champs de saisie et de liste.

Les formulaires que j’ai créés pour cet exemple sont des documents à remplir dans le cadre d’embauche de personnels. Ils sont très simples et n’ont pas de calculs ni de contrôle particulier des données. On peut les télécharger, à titre indicatif, à la fin de cet article.

Dans les deux cas, il s’agit d’un formulaire à usage interne qu’on enregistrera comme modèle, Ficher > Modèles > Enregistrer comme modèle et que l’on utilisera à partir de la fonctionnalité : Fichier > Nouveau > Modèles ou avec le raccourci clavier : Ctrl + Maj + N.

 Créer un formulaire XML

Cela semble la façon la plus évidente de faire un formulaire.

 Processus

Dans le menu Fichier > Nouveau de LibreOffice, choisir Formulaire XML. Si, ce qui serait étonnant, la barre d’outils Contrôles de formulaires n’apparait pas, il faut aller la chercher dans le menu Affichage > Barres d’outils.

Pour ces formulaires tout simples, on n’insère que des champs de type case à cocher , zone de texte et champ formaté . Ces derniers pour les dates qu’ils permettent de formater uniformément. Pour vérifier ce qu’on fait en cours de route cliquer sur l’icône avec l’équerre icone équerre.

Contrôles de formulaires
Dans LibreOffice : barre d’outils contrôles de formulaires.

On paramètre les champs dans la boite d’outils Contrôle, que l’on ouvre avec un clic droit sur le champ concerné. La boite d’outils peut rester ouverte tout le temps. Il faut donner un nom de champ . Chaque champ doit avoir un nom unique. Dans le cadre d’un champ formaté, comme pour les dates ici, préciser le type de format . Pour indiquer l’ordre d’activation, donc des tabulations pour aller d’un champ à un autre, cliquer sur le bouton à droite de Séquence d’activation .

Outils Contrôles de champs
Les paramètres des contrôles dans LibreOffice.

Par défaut, les champs sont ancrés comme caractère, ce qui semble l’option la plus adaptée. Il y a encore d’autres paramètres à configurer : les tailles des champs pour que le formulaire soit visuellement harmonieux par exemple. Éventuellement aussi, les caractères, l’arrière-plan des champs notamment pour différencier les champs obligatoires des autres.

 Avantages

On peut générer un formulaire pdf remplissable susceptible d’alimenter une base de données avec le script adéquat.

L’aspect général du formulaire est typique de ce genre de document avec des champs dotés de bordures.

On se déplace d’un champ à un autre avec une tabulation.

On ne peut modifier le formulaire lui-même qu’en passant par la barre d’outils Contrôles de formulaires.

 Inconvénients

On ne peut pas modifier le formulaire facilement (voir avantages) : il faut que tous les éléments modifiables soient des champs de formulaires. On ne peut pas mixer les contrôles de formulaire et d’autres types de champs, une date automatique par exemple.

On ne peut pas, pas facilement en tout cas [1] donner des informations pour aider à remplir les champs.

Un formulaire de ce type peut paraitre compliqué à faire.

 Utiliser des champs de saisie

Une autre façon de faire plus « littéraire » d’un point de vue visuel et qui peut être plus simple.

 Processus

Créer un document texte. On utilisera deux types de champs : les champs de saisie et les champs de liste.

Pour insérer un champ de saisie, il faut commencer par Définir les variables  : menu Insertion > Champ > Autres champs ou raccourci clavier Ctrl + F2. On ouvre la boite de dialogue Champs. Dans l’onglet Variables, définir les variables en faisant bien attention au format : Texte pour la plupart des champs dans ce cas de figure, et Autre formats pour les champs de date.

Quand le champ est créé, cliquer sur Insérer, il faudra ensuite le supprimer et insérer ces champs en tant que Champ de saisie en indiquant des Valeurs explicites.

Variables
Définir des variables dans LibreOffice.

Quand on ré-ouvrira le document : les champs de saisie s’ouvriront dans autant de boites de dialogues. On navigue de l’une à l’autre en cliquant sur Suivant et, quand on clique sur un champ, on ouvre à nouveau cette boite.

Saisie dans un champ du même nom
La boite de dialogue permet d’ajouter des précisions.

Pour les listes, ici : le genre et le type de contrat, aller dans l’onglet Fonctions de la boite Champs et choisir Liste de saisie . Ajouter les éléments de la liste les un après les autres , ils figurent en dessous du cartouche de saisie . Pour les réordonner, cliquer sur les boutons de déplacement .

Liste de saisie
Configurer une liste de saisie dans LibreOffice.

Par la suite, il suffit de cliquer sur un élément de la liste pour le sélectionner.

 Avantages

Le texte reste modifiable facilement.

En donnant aux champs des noms et des valeurs claires et précises on peut aider l’utilisateur final au remplissage du formulaire. Par exemple, ici pour les deux listes j’ai indiqué une phrase de ce type « Sélectionner l’un des éléments ».

On peut aussi ajouter des champs de base de données, des champs automatiques de type date.

On peut insérer des sections protégées et d’autres qui ne le sont pas.

 Inconvénients

Ça ne ressemble pas à un formulaire avec des cases à remplir.

On ne peut pas générer de pdf remplissable avec ce type de document.

Créer un document avec des sections protégées peut sembler plus difficile qu’il n’y parait (en fait c’est très simple).

 Conclusion

Alors finalement, quelle est la solution la meilleure ?

Réponse : les deux ! En fait tout dépend des besoins et du type de document. Mais, comme je l’ai déjà dit : la garantie du succès repose dans la qualité de conception du document.

En tous cas, amusez-vous bien !


[1Ce qui signifie concrètement que je n’ai pas trouvé comment faire.