Vous êtes sur la page 1sur 39

UNIVERSITE MARIEN NGOUABI

FACULTE DES SCIENCES DE LA SANTE


DEPARTEMENT DES MASTERS
PARCOURS SANTE PUBLIQUE
MASTER 1 SANTE PUBLIQUE

Utilisation du logiciel EpiInfo

Epi Info version 7

De la création du formulaire à la saisie des données

Responsable : Pr Gilbert NDZIESSI, Maitre de conférences CAMES


Intervenant : Doctorant Jethro MASSALA PEYA, MPH, PhD Student

Objectifs pédagogiques :
A la fin de ce cours l'apprenant devrait être capable de :

1. Créer un formulaire vierge

2. Mettre en forme le formulaire

3. Saisir les données à partir du formulaire


Table des matières
Utilisation du logiciel EpiInfo ........................................................................................................ 1
INTRODUCTION ...................................................................................................................... 3
Mode d’emploi ........................................................................................................................ 3
PRESENTATION DU LOGICIEL EPI INFO ........................................................................... 3
INSTALLATION D’EPIINFO ................................................................................................... 3
LES MODULES DANS EPIINFO ............................................................................................. 4
LA NOTION DE PROJET ......................................................................................................... 4
INTRODUCTION ...................................................................................................................... 7
PREPARATION DU FORMULAIRE DE SAISIE ................................................................... 8
CREATION D’UN FORMULAIRE VIERGE ....................................................................... 8
AJOUT DE ZONES DE SAISIE ................................................................................................ 9
DIFFERENTS TYPES DE CHAMPS ET PREMIERS CONTROLES DE SAISIE ............... 11
Champs Date/Heure .............................................................................................................. 15
Champs Oui/Non ................................................................................................................... 16
Champs titre /commentaire ................................................................................................... 16
Champs identifiant ................................................................................................................ 16
MISE EN FORME DU QUESTIONNAIRE ............................................................................ 16
CONTRÔLES ET AIDES A LA SAISIE ................................................................................. 20
QUELQUES COMMANDES DU MODULE DE CONTROLE DESAISIE .......................... 22
Modifier / supprimer un contrôle de saisie............................................................................ 23
Create Form / Enter Data ...................................................................................................... 23
MISE AU POINT DU FORMULAIRE DE SAISIE ................................................................ 24
Modifier une zone de saisie ................................................................................................... 24
Supprimer une zone de saisie ................................................................................................ 24
Create-Edit Forms / Enter Data ............................................................................................. 24
SAISIE, MODIFICATION ET RECHERCHED’ENREGISTREMENTS .............................. 25
EXERCICES ............................................................................................................................. 27
Exercice guidé n°1 : Création d’un questionnaire ................................................................. 27
Exercice guidé n°2 : Saisie des données ............................................................................... 32
Exercice guidé n°3 : Contrôle de saisie ................................................................................. 34
INTRODUCTION
EpiInfo est un logiciel de traitements de données conçu pour des épidémiologistes. Complet, il
permet de mettre en œuvre tout ce qui concerne la partie informatisable du traitement des
données issues d’une enquête. Cela comprend notamment : la mise en forme du formulaire de saisie,
la saisie, l’analyse statistique des données et la génération de rapport. Très ciblé, il permet
d’obtenir rapidement des résultats utiles.
L’objectif de ce cours est de vous familiariser à son utilisation. Ainsi, vous disposerez d’un outil
permettant de mettre en œuvre concrètement, sur des jeux de données, les notions abordées dans
les autres modules de cet enseignement (Epidémilogie descriptive, Epidémiologie analytique,
les biostatistiques).

Mode d’emploi
La première partie du cours est relative à la saisie des données, la seconde à l’analyse.
Cependant ces deux parties sont indépendantes et peuvent être étudiées dans l’ordre inverse.
En fin de partie des exercices guidés reprennent l’essentiel des notions abordées sur un exemple
concret. Ces exercices sont, pour la plupart, construits à partir d’exercices proposés sur le site
des CDC. Suivent ensuite des exercices permettant de mettre en œuvre de façon plus autonome
ce qui a été appris et ainsi de se tester.
Comme dans l’apprentissage de tout logiciel la pratique est indispensable au bon maniement
d’EpiInfo. Dans un premier temps, découvrez les différentes notions en manipulant le logiciel
sur les exemples donnés puis utilisez ces nouvelles fonctionnalités « à volonté ». Le temps passé
à s’exercer est le gage d’une meilleure maîtrise.

PRESENTATION DU LOGICIEL EPI INFO


EpiInfo est un logiciel de traitements de données conçu pour des épidémiologistes. Complet, il
permet de mettre en œuvre tout ce qui concerne la partie informatisable du traitement des
données issues d’une enquête. Cela comprend notamment : la mise en forme du formulaire de
saisie, la saisie et l’analyse statistique des données. Très ciblé, il permet d’obtenir rapidement
des résultats utiles.
EpiInfo est un logiciel gratuit, développé par les CDC (Centers for Disease Control) à Atlanta
et librement diffusé. Il a été traduit dans différentes langues et de nombreuses copies ont été
recensées.

INSTALLATION D’EPIINFO
Pour débuter cet enseignement vous devez disposer du logiciel EpiInfo 7. Si vous ne l’avez
déjà, il faut donc, dès à présent, avoir accès à ce logiciel. C’est un logiciel gratuit que vous
pouvez acquérir via le site des CDC.
Pour cela vous pouvez procéder comme suit :

3
1) Sur la page http://wwwn.cdc.gov/epiinfo/7/index.htm , cliquer sur le bouton Download ZIP
File pour télécharger le fichier EpiInfo_7.zip. Ce fichier fait 17,7 MO.

2) Décompresser le fichier que vous venez de télécharger.


3) Le fichier : Launch Epi Info 7.exe : permet de lancer le logiciel sans avoir àl'installer
préalablement. Et cela depuis n'importe quel support mémoire, le disque dur de votre
ordinateur ou une clef USB par exemple.
Attention cependant : pour fonctionner correctement, EpiInfo 7.1.2 nécessite d’être sous
Microsoft Windows (XP ou une version plus récente) avec Microsoft Framework .NET 4.0.
Vous pouvez procéder aussi à une installation plus classique, à partir du fichier EI7_SetUp.exe
et non du .zip : cliquer sur Download Installer. Cela nécessite d’avoir davantage de droits mais
le logiciel fonctionnera plus rapidement.

LES MODULES DANS EPIINFO


EpiInfo est constitué de différents modules indépendants. Chacun prend en charge une partie
des traitements. Il y a trois modules de base :
CREATE FORMS : permet de créer un formulaire de saisie,
ENTER DATA : permet de saisir et de modifier les données à l’aide d’un formulaire,
ANALYSE DATA avec 2 interfaces : CLASSIC et VISUAL DASHBOARD : qui permettent
d’analyser les données.
Ces modules sont disponibles à partir de la fenêtre d’accueil d’EpiInfo, par l’intermédiaire soit
des boutons soit du menu Tools. Cette fenêtre permet aussi l’accès à un module plus spécifique
: CREATE MAPS : permet de créer des cartes et de traiter des données géographiques

EpiInfo peut :
- soit être utilisé à toutes les étapes d’une enquête : de la saisie des données à
l’établissement de tableaux de bord.
- soit intervenir, de façon spécifique, à différents niveaux dans une enquête. Il est par
exemple possible de l’utiliser pour saisir les données d’une enquête qui pourront être
étudiées à l’aide d’un autre logiciel, ou, à l’inverse, on peut analyser avec EpiInfo des
données saisies avec d’autres logiciels.

LA NOTION DE PROJET
Les fichiers EpiInfo sont des fichiers d’extension .prj. Ils sont appelés : projet. Un projet permet
de gérer différents éléments relatifs à une étude : des questionnaires de saisie, aux données
relevées et aux programmes permettant de les analyser. Un projet ne se restreint pas aux tables
de données.

4
Chaque module EpiInfo permet d’accéder à des éléments du projet de nature spécifique : par
exemple les masques de saisie dans CREATE FORMS , ou les tables de données dans ANALYSE.

Pour cela il faut préciser d’une part le nom du projet global et d’autre part le nom de l’élément.
La notion de projet est une notion délicate, propre au logiciel EpiInfo. Mais il faut s’y
familiariser car elle intervient fréquemment lors de l’utilisation de ce logiciel : pour accéder à
une table de données, on peut donner le nom du projet auquel elle appartient puis préciser le
nom de la table elle-même ; pour ajouter un formulaire de saisie il faut le créer dans un projet
existant ou créer auparavant un nouveau projet, …
Remarque : Tout projet est associé à une base de données qui stocke les différents éléments
qu’il contient. Ces éléments ne sont pas accessibles directement et, par exemple, depuis
n’importe quel gestionnaire de fichier, on visualise seulement le projet. prj et le fichier de la
base de données (fichier au format Access ou SQL Serveur).

5
Partie 1 : saisie des données

6
INTRODUCTION

Deux modules d’EpiInfo sont dédiés à la saisie des données :

- CREATE FORMS : permet de créer le formulaire de saisie


- ENTER DATA : permet d’entrer les données à partir du formulaire desaisie.
Le formulaire de saisie est aussi appelé questionnaire informatisé ou Vue (View) ou Masque de
saisie. C’est en quelque sorte un double du questionnaire papier : il doit permettre de saisir toute
l’information qui y est relevée.
La construction du formulaire comprend plusieurs étapes essentielles :
- une étape de fond : la définition des variables à relever avec leur type et le codage choisi
- une étape de forme : la présentation du questionnaire (disposition, couleur, image de
fond, …) et la définition des « aides » à la saisie : saut, recherche automatique de
doublons,…
- une étape de mise au point : tests successifs conduisant éventuellement à modifier le
questionnaire.
C’est seulement une fois que le formulaire est achevé que l’on peut procéder à la saisie des données.
PREPARATION DU FORMULAIRE DE SAISIE

Le formulaire de saisie est, en quelque sorte, un double du questionnaire papier. Il doit permettre
la saisie des données relevées grâce à ce dernier.
C’est un élément du projet et il s’enregistre donc dans le projet, à côté des données, des programmes
de commandes, etc. On le crée dans le module CREATE FORMS accessible depuis la fenêtre d’accueil
d’EpiInfo. Le plus souvent, c’est le premier élément d’une étude ; on crée alors le projet et le
formulaire.
CREATION D’UN FORMULAIRE VIERGE

Pour créer un nouveau formulaire dans un nouveau projet, dans le module CREATE FORMS, faire
File/New Project : donner le nom du projet à créer dans la zone Name en précisant son
emplacement (Location ), puis nommer le nouveau formulaire (Form Name ).









Le projet peut être créé comme base de données Access ou base de données SQL Serveur . Si
vous ne disposez pas de serveur SQL, vous pouvez laisser l’option par défaut : Microsoft Access
2002-2003. Notez que ce choix ne requiert pas l’installation d’Access.
Pour créer un formulaire dans un projet existant : ouvrir ce projet à partir du menu File/Open Project
puis créer le formulaire File/New Form et donner simplement son nom.
Le nom d’un formulaire doit commencer par une lettre puis contenir seulement des lettres ou des
chiffres, pas d'espace. Il faut aussi éviter de donner comme nom un mot réservé du langage EpiInfo
: par exemple number serait inadéquat.
La page d’un formulaire vierge apparaît. On la complète en ajoutant notamment les zones de saisie
correspondant à chacun des champs.

AJOUT DE ZONES DE SAISIE


Pour ajouter une nouvelle zone de saisie il suffit de faire un clic droit sur le formulaire à l’endroit
où doit figurer cette zone. Un menu apparaît. Dans ce menu, la liste déroulante New
Field permet de spécifier le type de zone de saisie à inclure : zone de texte, liste déroulante, case à
cocher, boutons radio, etc.

Après sélection d’un type de zone de saisie, une fenêtre apparait qui permet de donner les
caractéristiques du nouveau champ. Cette fenêtre est spécifique à chaque type de zone de saisie
mais on y trouve un certain nombre de propriétés communes à renseigner :









est l’intitulé qui accompagne la zone de saisie dans le formulaire. Il est possible de
spécifier l’apparence (fonte, couleur, taille,..) que prendra cet intitulé en cliquant sur le
bouton Prompt Font 
nom donné à la variable : c’est ce nom qui sera ensuite utilisé pour repérer la variable
et cela par exemple dans le module d’analyse des données. Il faut donc choisir de préférence
un nom court et parlant. Le nom commence obligatoirement par une lettre suivie de
caractères alphanumériques (éviter espaces et lettres accentuées). contrôles de saisie :
Required, par exemple, indique que le champ est à saisie obligatoire et ne peut avoir de
donnée manquante.
valider en cliquant sur OK : l’intitulé et une zone de saisie apparaissent alors sur le
questionnaire. Ils peuvent être repositionnés par cliquer/glisser.
Par l’intermédiaire de cette fenêtre, le questionnaire s’enrichit donc d’une nouvelle zone de saisie
et y associe une variable qui aura comme valeurs celles saisies dans cette zone. Cette variable est
repérée par un nom (Field Name) et prend seulement des valeurs d’un certain type (soit texte, soit
numérique, soit date …). Il est aussi possible de préciser des contrôles sur les valeurs admissibles
pour cette variable qui seront actifs automatiquement lors de la saisie. Le paragraphe suivant
détaille différents types de variable possibles et quelques-uns des contrôles de saisie.
DIFFERENTS TYPES DE CHAMPS ET PREMIERS CONTROLES DE SAISIE

On retrouve les principales catégories de variables habituelles avec quelques spécificités :


Champs numériques :
NUMBER : c’est l’unique type de zone de saisie permettant de prendre en compte une
variable quantitative. Il faut préciser le format dans pattern. Chaque # indique un chiffre et le
symbole . est le séparateur entre partie entière et partie décimale au niveau de ce masque.

Par exemple, pour relever l’âge, on choisit le type number et comme format ### (entier codé sur 3
chiffres) pour permettre de saisir l’âge de centenaires éventuels. Pour la taille en mètres le masque
peut être le suivant #.## (1 seul # avant le . car personne n’atteint 10 m et 2 # après si on attend une
précision au cm).
A la saisie, les chiffres seront les seules entrées acceptées avec les données manquantes.
On a aussi la possibilité de borner les valeurs qui seront saisies en cochant l’option Range et en
précisant dans Lower la plus petite valeur envisageable pour cette variable et dans Upper la plus
grande. Pour la variable AGE, en toute généralité, on peut se limiter à l’intervalle [0 ;120] ; si
l’étude ne concerne que des mineurs on fixe Upper à 18.
Attention 1 : On observe certains dysfonctionnements lors de la saisie de nombres décimaux.
Ces dysfonctionnements sont dus à une utilisation différente en anglais et en français du point
et de la virgule dans les nombres décimaux. Pour pallier cet inconvénient, il est possible de
modifier les paramètres d’environnement de la machine sur laquelle vous travaillez et de
choisir, comme langue, l’anglais. Dans Windows, cela est accessible dans les options
d’environnement du panneau de configuration. Il est aussi possible de se ramener à la saisie
d’entiers. Dans l’exemple précédent, concernant la taille, on pourrait faire la saisie directement en
cm : masque ###.
Attention 2 : Dans la version 7.1.2, il semble que les champs de type Number n’accepte pas de
valeurs au-delà de 231(= 2 147 483 648).
Champs alphanumériques, champs codés et champs « option »:
Les champs alphanumériques acceptent n’importe quelle suite de caractères imprimables en entrée.
Il y a trois types de zone de saisie possibles :
TEXT : texte simple limité à 255 caractères
TEXT (UPPERCASE) : homogénéise la casse des entrées associées à ce champ : elles sont
automatiquement converties en majuscule (par exemple, dans le cas où soit f soit F est tapé au
clavier, c’est F qui est enregistré)
MULTILINE : réserve de large zone de saisie (jusqu’à 2 millions de caractères) pour des réponses
à des questions ouvertes par exemple.

Il faut cependant limiter l’utilisation de ce type de champ car ils sont difficilement exploitables. En
effet il n’y a aucun contrôle sur les valeurs saisies.
Lorsque la variable associée à la zone de saisie ne peut prendre que certaines valeurs prédéfinies,
il faut limiter la saisie à ces modalités. Pour cela, il y a trois types de zone de saisie possibles :
LEGAL VALUES : définit une liste déroulante avec les différentes valeurs possibles de la variable
; seules ces modalités et les données manquantes seront acceptés dans la zone de saisie.
Exemple :

A la création de cette zone de saisie il faut préciser la liste des valeurs possibles dans Data Source
par l’intermédiaire du bouton :


Pour cela saisir les valeurs possibles, dans l’exemple H et F , avec Create New ou faire
référence à une liste existante (Use Existing) :



  

A la saisie, les modalités peuvent être tapées directement dans la zone de saisie ou sélectionnées à
partir de la liste déroulante (cette liste est triée dans l’ordre alphabétique si
l’option Do not sort n’a pas été cochée) ; aucune valeur autre que celles de la liste ne sera
acceptée dans cette zone de saisie.
COMMENT LEGAL : définit une liste déroulante avec les différentes valeurs possibles de la
variable. Mais, à la différence de LEGAL VALUES, dans la liste déroulante, chaque modalité peut
être agrémentée d’un texte précisant le codage.
Exemple :

Pour créer cette liste on sépare simplement modalité à saisir et commentaire associé par un trait

d’union ( « - » , hyphen en anglais) dans Data Source. Il s’agit en quelque sorte de définir un

thésaurus des valeurs possibles de la variable.

Seul le code (la valeur qui précède le trait d’union) sera enregistré dans la table de données.
OPTION : avec ce type de zone de saisie, le choix entre les différentes modalités se fait en cliquant
sur le bouton radio correspondant.

Remarque : Quand une modalité est sélectionnée, il n’est plus possible de laisser ce champ sans
réponse ; En effet, le seul moyen de décocher une modalité est d’en cocher une autre.
Dans le cas où le champ n’est pas à saisie obligatoire, il faut donc penser à ajouter une
modalité non réponse.
A la création de ce type de zone de saisie il faut préciser : la disposition des boutons radio ,
l’emplacement du texte (à droite ou à gauche du bouton radio) et surtout le nombre de bouton
radio à créer et le texte associé à chacun .







La valeur enregistrée dans la table de données est le numéro d’ordre du bouton sélectionné. La

numération commence à 0 et l’ordre est celui dans lequel les boutons ont été créés.

Exemple : dans l’exemple précédent le bouton radio « Rouge » correspond à la valeur 0, le bouton
« Vert » à la valeur 1, « Bleu » à 2, etc.
Champs Date/Heure
Ces champs sont formatés et les valeurs entrées seront contrôlées lors de la saisie pour vérifier leur
validité. Il existe 3 types possibles en fonction de la nature de l’information à stocker:
DATE : pour les dates,
TIME : pour les heures,

DATE/TIME : pour l’heure assortie d’une date

Le format de saisie des dates est celui qui est spécifié par défaut sur votre ordinateur. Il est
éventuellement possible de le modifier en changeant de paramétrage dans les Options Régionales
et Linguistiques du Panneau de configuration.
Remarque : avec ce type de champs il n’est pas possible de saisir des données incomplètes par
exemple : Juin 2013 dans un champ DATE au format DD/MM/YYYY. Dans ces cas-là, si le jour
importe peu, on saisit une valeur conventionnelle (pour l’exemple donné ce pourrait être le
15/06/2013), sinon il faut changer de type de données et prévoir 3 champs numériques indépendants
pour les 3 parties de la date (jour, mois et année) dont une pourra rester vide.
Champs Oui/Non
Ces champs permettent la saisie des variables binaires : avec les 2 modalités suivantes
- Yes (oui) représentée parfois par True, (+) ou 1
- No (non) représentée par False, (-) ou 0
Pour saisir des champs Oui/Non, on peut utiliser 2 types de zone de saisie :
YES/NO : admet, en plus des modalités Yes et No, les données manquantes

CHECK BOX : la case est soit cochée et Yes est enregistré, soit décochée et c’est alors No qui est
enregistré. Il n’y a donc jamais de données manquantes avec ce type de zone de saisie.

Champs titre /commentaire


LABEL/TITLE : Il n’y a pas de zone de saisie associée à ce type de champ : ils permettent
simplement d’ajouter dans le questionnaire des titres ou sous-titres, des commentaires,… Veillez à
préciser une police adéquate dans Font.
Champs identifiant
UNIQUE IDENTIFIER : crée un champ pré-rempli avec des valeurs sans doublon qui sont donc
spécifiques à chaque enregistrement.

Remarque : Il est important de veiller à l’homogénéité du questionnaire et, quand un type de champs

a été choisi, de reproduire les mêmes choix pour les variables similaires. Par exemple une variable
oui/non peut être codée à l’aide d’un champ de type Yes/No, une case à cocher, des boutons radios
ou encore un champ texte en précisant ses modalités : mais dans un questionnaire donné, toutes les
variables oui/non seront codées de la même façon.

Le choix du type de zone de saisie est essentiel si on veut s’assurer de données de qualité.

MISE EN FORME DU QUESTIONNAIRE

Une fois les zones de saisie définies il est important de s’attacher à la présentation du questionnaire.

L’objectif est de le rendre fonctionnel et attrayant à remplir.


Remarque : Certaines fonctionnalités de mise en forme nécessitent la sélection simultanée de
plusieurs champs : pour cela on dessine un cadre autour de ces champs en cliquant en haut à gauche
de la zone à délimiter et en maintenant le clic de la souris enfoncé jusqu’au coin opposé en bas à
droite.
Il est possible de :
- repositionner les champs manuellement par cliquer / glisser (on peut régler un paramètre
dans le menu Format/Grid Settings : Snap to grid pour forcer le positionnement de la
zone de saisie à se caler sur la grille (avec 2 choix possibles en fonction des éléments à
aligner : soit l’intitulé ( Snap prompt to grid) soit la zone de saisie proprement dite (
Snap entry field to grid)) et inversement, si l’on souhaite que l’élément se positionne
exactement à l’emplacement du curseur de la souris on décoche Snap to grid)

A partir du libellé on déplace libellé et zone de saisie. Ensuite, on peut repositionner la


zone de saisie indépendamment du libellé en cliquant à son niveau. La saisie et surtout
le contrôle visuel des valeurs saisies sont facilités quand les zones de saisie sont alignées
verticalement.
- les aligner de manière automatique : on sélectionne l’ensemble des champs à aligner (cf.
Remarque) puis après un clic droit sur le formulaire de saisie on choisit le type
d’alignement souhaité.
Si la nouvelle présentation n’est pas adéquate on peut revenir en arrière en cliquant sur
le bouton Undo.

- dupliquer des champs (par copier / coller après les avoir sélectionnés). Le nouveau
champ a les mêmes caractéristiques que le champ d’origine hormis le nom qui a été
complété par un numéro (il ne peut pas y avoir dans un formulaire deux champs avec le
même nom).
Pour déplacer un champ faire plutôt Couper/Coller (cela permet de garder le même nom
de champ et les éventuelles valeurs saisies)
- changer la couleur de fond ou y insérer une image
(dans le menu Format/Background)
- disposer le questionnaire sur plusieurs pages. L’écran avec le formulaire de saisie a une
taille fixe qu’on ne peut pas allonger pour ajouter des champs. Pour les questionnaires
qui ne tiendraient pas sur une page, on a la possibilité d’ajouter d’autres pages par
l’intermédiaire du menu Insert /Page avec les choix : Insert page ou Add page (ajoute
une page en fin de formulaire). On navigue alors de page en page au niveau de la zone
Project Explorer, sur la gauche de l’écran. On peut aussi renommer chaque page (en
fonction des données relevées, par exemple état civil ou antécédents médicaux, ou…)
dans Edit/Rename Page. A la saisie, après l’entrée des données du dernier champ d’une
page, le curseur se positionne automatiquement sur le premier champ de la page qui suit.
- préciser l’ordre de tabulation : il s’agit de l’ordre dans lequel s’enchaîn e les zones de

saisie lors du remplissage du formulaire dans le module Enter Data. Par défaut. C’est

l’ordre dans lequel les champs ont été créés dans le formulaire. Pour visualiser l’ordre

de tabulation actuel faire un clic droit sur le formulaire et, dans Tabs choisir Show Tab
Order ; pour réactualiser l’ordre de tabulation en fonction de la position des variables
: choisir Start New Tab Order .




- créer un groupe : EpiInfo offre la possibilité de regrouper plusieurs champs et de leur


donner une étiquette commune. Lors de l’analyse des données on accède à chaque
variable du groupe indépendamment par leur nom ou conjointement, par l’intermédiaire
de l’étiquette du groupe. Pour créer un groupe : on sélectionne les
variables à regrouper puis, dans le menu Insert / Group, on donne un nom au groupe.
- ajouter une ligne de séparation entre différentes parties d’un questionnaire : dans la
pratique on ajoute un titre (label/title) dont l’intitulé est une suite de tiret bas _ .
Remarque : Le menu Format permet de donner une valeur par défaut à différents paramètres.
Cela évite de répéter ces options de mis en forme au niveau de chaque zone de saisie inclue.
La présentation du formulaire influe sur la qualité des données relevées. Il faut donc y apporter
beaucoup de soin bien qu’il s’agisse d’une étape de mise en forme.

CONTRÔLES ET AIDES A LA SAISIE

Dans ce qui suit, le terme contrôle de saisie est employé pour désigner aussi bien des éléments liés
à la vérification des données saisies (contrôle des valeurs admissibles, recherche automatique de
données identiques,…) que des aides à la saisie (message à l’utilisateur, saut,…).

- Comme nous l’avons vu dans la séance 1, une partie des contrôles qui s’effectuent lors de la

saisie des données sont définis au niveau de la fenêtre de définition des champs dans Create Form.
Il s’agit pour l’essentiel de limiter les valeurs possibles pour les variables : en bornant
les variables quantitatives (Range) et en précisant les différentes modalités des variables
qualitatives (Legal Values ou Comment Legal). On a aussi la possibilité de préciser qu’un champ
est en lecture seule (Read Only) ou à saisie obligatoire(Required).
L’option Repeat Last permet de préciser que la valeur par défaut d’un champ est celle du dernier

enregistrement saisi. Cela est utile par exemple, quand on saisit des données par secteur et qu’une
variable indique précisément le secteur de provenance de l’information : les mêmes valeurs vont
revenir de questionnaire en questionnaire jusqu’au premier questionnaire d’un autre secteur ; avec
cette option, on a alors à remplacer la valeur par défaut par la valeur correcte ; cette nouvelle valeur
servira de base aux enregistrements suivants.
- D’autres possibilités sont offertes par l’intermédiaire du bouton Check Code dans la barre d’outils
(ou par Tools / Check Code Editor).

L’interface qui permet d’éditer les contrôles de saisie a l’allure suivante :


 Choix du temps d’exécution du contrôle
de saisie

 Programme
correspondant aux
contrôles de saisie

 Commandes du
 module de contrôle
de saisie

Chaque contrôle de saisie peut être activé à différents temps : soit avant, soit après la saisie d’un
champ, et éventuellement soit à l’ouverture, soit à la fermeture du formulaire, d’un enregistrement
ou d’une page.
Ce niveau est à préciser dans la zone : en cliquant sur le correspondant au formulaire (form),
à l’enregistrement (record) ou aux différents champs (dans Page) on accède au choix avant/après
(before/after) qu’on valide par un double clic.
Tous les champs ainsi sélectionnés définiront un bloc délimité par les mots clé Field et EndField
dans la zone .
En se plaçant (clic) au niveau d’un bloc on peut activer les différentes commandes qui permettront
de contrôler la saisie en les sélectionnant dans la zone . En cliquant sur l’intitulé d’une commande
en on lance de nouvelles boîtes de dialogue qui permettent de préciser les paramètres de chaque
commande. Après validation le code s’inscrit automatiquement dans l’éditeur . On peut aussi
utiliser l’éditeur pour taper directement du code ou modifier du code existant.
Le point qui suit détaille certaines commandes du module de contrôle de saisie.
Mais, pour finir les généralités sur le fonctionnement de cet éditeur, il faut noter : qu’il est possible
de définir plusieurs commandes au niveau d’un bloc : elles s’exécuteront dans l’ordre dans lequel
elles apparaissent. Il est aussi possible d’y ajouter des commentaires en les faisant précéder de //.
Les boutons de la barre d’outils permettent en particulier :
- : de vérifier la syntaxe du code : le résultat de la vérification s’affiche en - :
de fermer l’éditeur de contrôle de saisie pour revenir au formulaire - : d’enregistrer

la définition des contrôles de saisie.

QUELQUES COMMANDES DU MODULE DE CONTROLE DESAISIE

AUTOSEARCH : cette commande s’applique sur un champ : quand on saisit une valeur dans ce
champ elle signale tout autre enregistrement ayant une valeur identique. On l’utilise notamment
pour détecter d’éventuels doublons dans un champ identifiant.
HIDE : cette commande cache les champs donnés en paramètre : ils ne sont plus visibles à l’écran.
UNHIDE : à l’inverse, cette commande les rend visibles et des données peuvent à nouveau y être
entrées.
DISABLE : cette commande désactive les champs donnés en paramètre : ils apparaissent à l’écran
mais grisés et ils ne peuvent pas être modifiés.
ENABLE : à l’inverse, cette commande permet de les activer.
CLEAR : cette commande efface le contenu des champs donnés en paramètre.
HIGHLIGHT : cette commande permet de surligner les champs donnés en paramètres

UNHIGHLIGHT : à l’inverser cette commande permet de supprimer un surlignage.

GOTO : cette commande positionne le curseur sur le champ donné en paramètre. Elle permet de
sauter une série de questions inappropriées pour l’enregistrement courant.
NEWRECORD : cette commande enregistre les valeurs saisies dans l’enregistrement courant et
ouvre un nouvel enregistrement.
HELP : cette commande permet d’afficher un message personnalisé dans une boîte de dialogue.
DEFINE et ASSIGN : s’utilisent de façon identique à ce qui a été vu dans le module d’Analyse.
En général, les commandes précédentes ne doivent être activées que dans certaines conditions. Par
exemple, on efface le contenu d’un champ seulement quand sa valeur semble inappropriée. La
commande IF permet de préciser ces conditions. Elle a un fonctionnement similaire à celui de la
commande IF étudiée dans le module d’Analyse : lorsque la CONDITION est vérifiée elle permet
de lancer les contrôles spécifiés dans la zone THEN ; quand elle n’est pas vérifiée, ce sont les

contrôles de la zone ELSE qui sont activés.

Modifier / supprimer un contrôle de saisie


Depuis le module de Conception de formulaire (Create Form), il est possible de revenir sur les
contrôles de saisie en lançant Check Code et en allant modifier le texte de l’éditeur : repérer le bloc
à modifier puis modifier le code.
Create Form / Enter Data
Pendant toute la phase de préparation du formulaire, il est important de le tester sur des jeux
d’essais. On testera notamment le fonctionnement des contrôles de saisie. Les contrôles de saisie
ne sont pas actifs dans le module de Conception de formulaire : on bascule du module Create
Form au module Enter Data pour les tester. Inversement, pour apporter les améliorations
nécessaires au masque de saisie on bascule du module Enter Data au module de conception de
formulaire par l’outil : Edit Form.

MISE AU POINT DU FORMULAIRE DE SAISIE


A tout moment de la préparation d’un formulaire de saisie, on peut revenir sur des choix antérieurs
et les modifier.
Modifier une zone de saisie
Pour rappeler la fenêtre de définition d’une zone de saisie il suffit de faire un clic droit sur le
questionnaire au niveau du libellé de la zone de saisie à modifier : puis de cliquer sur Properties.
Il est alors possible de choisir d’autres paramètres. Certains d’eux ne sont plus accessibles dès lors
que l’on a commencé à saisir des données. C’est le cas par exemple du nom du champ. Ces
contraintes s’imposent pour éviter de perdre la correspondance entre formulaire et table de données.
Cependant, si les valeurs saisies ne sont pas à conserver, il est possible de les supprimer par
l’intermédiaire du menu Tools / Delete Data Table. Une fois la table de données détruite, il est
possible d’accéder à nouveau à tous les paramètres : nom des variables, type,… et de les modifier.
Supprimer une zone de saisie
Pour supprimer une zone de saisie, faire un clic droit à son niveau et choisir Delete. On supprime
alors tout ce qui est relatif à cette variable : la zone de saisie ainsi que les éventuelles données qui
auraient été saisies.
Create-Edit Forms / Enter Data
Pendant toute la phase de préparation du formulaire, il est important de le tester sur des jeux
d’essais. Pour cela on bascule du module Create(Edit) Forms au module Enter Data par le bouton
Enter Data de la barre d’outils. Inversement, pour apporter les améliorations nécessaires au masque
de saisie on bascule du module Enter Data au module Edit Form par le bouton Edit Form. Ce mode
de fonctionnement permet de passer alternativement du formulaire en construction au formulaire à
tester sans avoir à repréciser de nom de fichier et en faisant les mises à jour nécessaires. En
privilégiant cette façon de faire on évite les problèmes liés à l’utilisation simultanée d’un même
fichier dans plusieurs modules.
Pour tester le formulaire, en mode saisie des données cliquer sur Enter Data :

Puis, pour revenir au masque de saisie, cliquer sur Edit Form


SAISIE DES DONNEES
SAISIE, MODIFICATION ET RECHERCHE D’ENREGISTREMENTS

On commence la saisie des données de l’étude proprement dite seulement après avoir testé chaque
variable et s’être assuré du bon fonctionnement des contrôles de saisie. Ensuite, pour repartir d’une
table de données vide, on sélectionne Tools / Delete Data Table dans le module Create Form.
Le module Enter Data permet de créer une table de données à partir d’un formulaire de saisie. La
saisie des données se fait en tapant au clavier les valeurs souhaitées dans les zones de l’écran
correspondant. Le curseur saute de façon automatique d’un champ au suivant en respectant l’ordre
de tabulation. A la fin de chaque page les données sont automatiquement enregistrées et, à la fin du
formulaire, un nouveau questionnaire vierge apparaît prêt à être complété.

Dans la barre d’outils, de façon classique les flèches permettent de se déplacer dans les
enregistrements. Le bouton New Record permet de se placer sur un nouvel enregistrement.
Delete : marque l’enregistrement en cours comme étant considéré effacé. Dans la pratique, il
apparaît alors en grisé et n’est pas pris en compte dans les analyses par défaut. Mais il n’est pas
supprimé et il est possible de l’activer en cliquant sur le bouton qui s’intitule Undelete.
Find permet de chercher l’ensemble des enregistrements qui répondent à un critère à préciser.
Par exemple, pour accéder aux enregistrements des fumeuses, on sélectionne la variable Tabac, on
tape (+) dans la zone qui s’affiche, et on valide en cliquant sur Search. L’ensemble des
enregistrements correspondant s’affiche dans un tableau : on peut revenir au formulaire relatif à un
enregistrement particulier en cliquant sur l’entête de ligne de celui-ci.

  
EXERCICES

Pour finir cette séance, reprenons sur des exemples les principaux points abordés jusque-là.
Exercice guidé n°1 : Création d’un questionnaire

Caractéristiques de l’exercice

Objectifs : A la fin de cet exercice vous serez en mesure de : -


créer un projet
- ajouter un nouveau questionnaire dans ce projet
- ajouter des zones de saisie dans le questionnaire
- fixer les propriétés des variables
- ajouter et renommer des pages
- faire des contrôles de saisie
- améliorer le « design » du questionnaire
- regrouper des champs

Durée : à peu près 2 heures


Remarques :

Dans EpiInfo les données sont conservées dans des projets. Un projet peut être créé au moment de
la mise en place des questionnaires.
Un projet peut contenir plusieurs questionnaires, chacun permettant d’accéder aux informations
d’une table de données.
Etape 1 : Création d’un nouveau questionnaire
a) Cliquer sur le bouton Create Forms à partir de l’écran principal d’EpiInfo.
b) Une fenêtre avec une barre de menu et un espace vierge en dessous apparaît alors. Pour
créer un nouveau questionnaire dans un nouveau projet, cliquer sur New Projects dans la

barre d’outils (ou dans le menu File/New Project)

c) Quand la fenêtre New Project s’affiche, taper Obstetrique dans la zone Name du groupe
Project en précisant un dossier dans Location ; Laisser le choix par défaut pour la zone Data
;Taper Prenatal dans la zone Form puis cliquer sur OK. Vous créez ainsi un nouveau projet
appelé Obstetrique et, inclus dans ce projet, un formulaire appelé Prenatal.
Etape 2 : Ajout de champs dans le questionnaire
a) Ajouter les variables suivantes dans votre questionnaire par un clic droit dans l’espace
vierge (les nouveaux champs se positionnent là où vous cliquez). Un menu apparait : dans
New Field choisir la zone de saisie que vous souhaitez inclure puis compléter la fenêtre qui
s’ouvre, permettant de définir le champ.
b) Se référer au tableau ci-dessous :
- pour choisir le type de zone de saisie à inclure
- puis, pour remplir la zone Question or Prompts et le nom du champ, et appliquer les
éventuelles consignes associées. Cliquer ensuite sur OK
Question ou intitulé Nom (Field Type Spécificités
(Prompt) Name)
Gynécologie Label/Title Gras, Italique, Taille 12
obstétrique
Information Label/Title Gras, Taille 18
concernant le patient
Identifiant ID Number ##
Nom : NOM Text
Prénom : PRENOM Text
Profession : PROFS Text
Email : EMAIL Text
Adresse : ADRESSE Multiline
Département : DEPT Legal Liste de choix (Brazzaville, Pointe
Values Noire, Sangha, Bouenza, Niari et
Lékoumou
Pour préciser la liste de choix du champ DEPT, dans le bouton Data Source cliquez sur Create New
avant de saisir les différents choix.

Préciser une liste de valeurs autorisées est la façon la plus facile de contrôler la saisie des données.
Une table est créée avec les entrées permises parmi lesquelles l’utilisateur fera son choix. Cela
permet une saisie plus rapide des données tout en assurant un contrôle sur la qualité de ces données.
Etape 3 : Déplacer des champs / Aligner des champs

a) Clic gauche sur l’intitulé du champ (et non sur la zone de saisie). Puis amener le curseur de
la souris sur le nouvel emplacement en maintenant le bouton de la souris enfoncé. Cela
permet de déplacer ensemble l’intitulé et la zone de saisie.
Pour les dissocier et déplacer uniquement la zone de saisie cliquer cette fois au niveau de la
zone de saisie.
b) En plus du déplacement des champs à la souris, Create Form fournit des outils pour les
aligner automatiquement sur la page :
o Les sélectionner simultanément en cliquant du coin en haut à gauche de cette zone au
coin en bas à droite
o Puis, dans le menu contextuel clic droit : choisir une des options d’alignement. Après
avoir déplacer les 2 titres et l’identifiant puis aligner les autres champs on obtient le
questionnaire suivant :
Certains champs sont
sans entrées associées.

Les champs textes reçoivent


des données alphanumériques.

L’adresse peut être saisie dans


un champ multi -ligne ou dans
plusieurs champs textes.

Etape 4 : Nommer la page

a) Dans le menu Edit / Rename the Page préciser le titre de cette page du questionnaire :
Informations generales et valider (clic sur OK).

EpiInfo peut créer plusieurs pages dans un seul questionnaire. Chaque page peut être vue
comme une page d’un questionnaire papier. Les différentes pages permettent d’organiser les
données dans les cas où il y a beaucoup de variables.

Etape 5 : Ajouter une nouvelle page au questionnaire


a) Pour ajouter une nouvelle page, cliquer dans le menu Insert et dans le choix Page choisir
Add Page.
b) Puis ajouter les champs suivants dans cette nouvelle page :
Question ou intitulé (Prompt) Nom (Field Name) Type Consignes
Information personnelle Label/Title Gras, Taille 18
Date de naissance DATNAISS Date
Statut marital STATUT Comment 1-Célibataire
Legal 2-Marié
3-Divorcé
4-Autre
Age des premières règles AGE_REGLES Number ## Min : 7 Max : 17
Date des dernières règles DATE_DERN_REGLES Date
Date de terme DATE_TERME Date
Numéro de sécurité sociale SECU Text Nombre de
caractères : 13 Cocher
l’option
« Required »
Tabac ? TABAC Yes/No
Nombre de cigarettes (par NBCIG Number ##
jour) Min :0 et Max :70
Alcool ? ALCOOL Yes/No
Antécédent de dépression du DEPR_POST_PART Yes/No
post-partum
Remarque 1 : Comment Legal permet de créer un thésaurus (dans l’édition de la liste de choix, dans
Data Source, ne pas oublier le trait d’union). Au niveau de la saisie seule la partie avant le trait
d’union sera enregistrée. Cela facilite l’analyse ultérieure des données.
Remarque 2 : Il faut borner les champs numériques pour limiter les valeurs saisies. Cocher Range
puis remplir Lower avec la valeur de la borne inférieure et Upper avec la borne supérieure.

c) Une fois tous les champs créés, renommer la page en Info Perso.

Le questionnaire devrait ressembler au questionnaire présenté ci-après après l’ajout d’un groupe
(étape 6).
33

Etape 6 : Ajouter un groupe

EpiInfo permet de créer des groupes de champs pour faciliter ensuite les analyses et/ou pour
organiser de façon logique les zones du questionnaire.

a) Pour sélectionner simultanément les 3 champs :


Age des premières
règles
Date des dernières règles
Date de terme
Faire un clic gauche en haut à gauche de ‘Age des premières règles’, tirer la souris jusqu’au
coin inférieur droit (sous ‘Date de terme’) en maintenant le bouton de la souris enfoncé,
puis le relâcher. Une ligne bleue apparaît, mettant en évidence l’emplacement choisi pour
le groupe.
b) Cliquer sur le menu Insert, puis choisir Group. Donner un nom au groupe (cela apparaîtra
en entête du groupe) en tapant Menstruation et Grossesse.
Pour ré-éditer un champ, faire un clic droit sur ce champ et chosir Properties.
Etape 7 : Modifier la couleur de l’arrière-plan
a) La couleur de l’arrière-plan peut être modifiée à partir du menu déroulant Format en
sélectionnant Background.
b) Cliquer sur Change Color et choisir une couleur. Puis cliquer sur OK.
c) Choisir une couleur d’arrière plan différente pour l’autre page.
Etape8 : Spécifier les options d’alignement sur la grille
a) Pour donner les spécifications de la grille, dans le menu déroulant Format sélectionner Grid
Settings.
b) Par défaut MakeView aligne les champs sur la grille. On peut désactiver la grille, changer
l’espacement des lignes ou supprimer son affichage.
Etape 9 : Préciser l’ordre de tabulation
L’ordre de tabulation spécifie les déplacements du curseur d’un champ à l’autre (à la saisie). On le
modifie seulement dans le cas où l’ordre défini automatiquement ne convient pas.
Pour modifier l’ordre de tabulation : faire un clic droit sur le questionnaire et dans le menu
contextuel, dans Tabs, choisir Start New Tab Order

Exercice guidé n°2 : Saisie des données

Caractéristiques de l’exercice
Objectifs : A la fin de cet exercice vous serez en mesure de :
- saisir des données
- naviguer entre Create Form et Enter Data, et dans les enregistrements - utiliser
la fonction de recherche d’enregistrements
Durée : 45 minutes
Ressource : Exercice 1

Etape 1 : Ouverture d’un projet existant


Cliquer sur le bouton Create Forms dans la fenêtre d’accueil d’EpiInfo et sélectionner
le choix Open project dans le menu File. Dans la boîte de dialogue préciser le projet créé
lors de l’exercice 1 (Obstetrique).
Etape 2 : Saisie de données à partir du questionnaire
a) Sélectionner l’option Enter Data de la barre d’Outils. Cliquer sur OUI pour créer une table
de données à partir du questionnaire Prenatal ; laisser Prenatal comme nom par défaut de la
table de données.
On vous demandera de créer la table seulement une fois.
Create Forms lance ensuite le module de saisie et il est possible d’entrer des données.
b) Taper les données suivantes concernant la première patiente :
Informations concernant le patient Informations personnelles
Identifiant : 01 Date de naissance : 12/06/1979
Nom : Dupont Statut marital : Marié
Prénom : Jeanne Age premières règles : 13
Profession : Commercial Date dernières règles : 01/04/2012
Email : jdup@yahoo.fr Date terme : 06/01/2013
Adresse : 125 rue des jonquilles Num sécurité sociale : 2790640263589
Département : Brazzaville Tabac ? : Yes
Nbre cigarettes (/jour) : 12
Alcool ? : Yes
Antécédent Yes
dépression post-
Après avoir complété les données concernant la première patiente, cliquer sur le bouton New
Record pour saisir l’enregistrement suivant.
Entrer les données suivantes :
Informations concernant le patient Informations personnelles
Identifiant : 02 Date de naissance : 21/05/1981
Nom : Dupin Statut marital : Marié
Prénom : Marie Age premières règles : 13
Profession : Femme au foyer Date dernières règles : 22/02/2012
Email : maried@aol.com Date terme : 29/11/2012
Adresse : 521 allée des Iris Num sécurité sociale : 2810512567895
Département : Pointe-Noire Tabac ? : No
Nbre cigarettes (/jour) : 0
Alcool ? : No
Antécédent Yes
dépression post-
Informations concernant le patient Informations personnelles
Identifiant : 03 Date de naissance : 24/04/1988
Nom : Durand Statut marital : Célibataire
Prénom : Annie Age premières règles : 11
Profession : Ingénieur Date dernières règles : 02/03/2012
Email : durand@wanadoo.fr Date terme : 07/12/2012
Adresse : 12 rue des pétunias Num sécurité sociale : 2880433658975
Département : Cuvette Tabac ? : Yes
Nbre cigarettes (/jour) : 34
Alcool ? : No
Antécédent Yes
dépression post-
Informations concernant le patient Informations personnelles
Identifiant : 04 Date de naissance : 02/08/1992
Nom : Martin Statut marital : Marié
Prénom : Lou Age premières règles : 14
Profession : Instituteur Date dernières règles : 12/11/2011
Email : martinlou@yeye.com Date terme : 19/08/2012
Adresse : 65 imp. des iris Num sécurité sociale : 2920842658741
Département : Plateaux Tabac ? : Yes
Nbre cigarettes (/jour) : 5
Alcool ? : No
Antécédent No
dépression post-
37
Informations concernant le patient Informations personnelles
Identifiant : 05 Date de naissance : 02/07/1993
Nom : Lulu Statut marital : Célibataire
Prénom : Marie Age premières règles : 12
Profession : Infirmier Date dernières règles : 15/12/2011
Email : mlulu@tiscali.fr Date terme : 21/09/2012
Adresse : 65 rue des tulipes Num sécurité sociale : 2930765859142
Département : Brazzaville Tabac ? : No
Nbre cigarettes (/jour) : 0
Alcool ? : No
Antécédent No
dépression post-
Etape 3 : Naviguer dans les enregistrements
a) Dans la barre d’outils, cliquer sur les flèches pour naviguer dans les enregistrements
précédemment saisis.
Pour se positionner sur un enregistrement spécifique : cliquer dans la boite blanche centrale,
taper le numéro de l’enregistrement puis cliquer sur la touche Entrée du clavier.
Etape 4 : Trouver un enregistrement
a) Dans la barre des tâches, cliquer sur le bouton Find. Un écran de recherche
d’enregistrements apparaît avec une liste des champs disponibles.
b) Cliquer sur le champ intitulé Prenom. Une zone de saisie apparaît : taper Marie et valider
en pressant la touche Search.
c) Une grille apparaît avec les enregistrements correctement sélectionnés. Double cliquer sur
une ligne quelconque pour positionner l’écran de saisie sur l’enregistrement correspondant.
d) Pour sortir du module de saisie, dans le menu déroulant File choisir Exit.

Exercice guidé n°3 : Contrôle de saisie

Caractéristiques de l’exercice
Objectifs : A la fin de cet exercice vous serez en mesure d’identifier les champs sur lesquels opérer
un contrôle de saisie et créer du code pour : faire afficher des messages, effacer des entrées, déplacer
le curseur et masquer des champs
Durée : 1 heures 30 Ressource :
exercice 1 et 2

Contexte :

Cet exercice se rapporte aux antécédents obstétricaux des femmes enceintes. Le schéma cidessous
met en évidence les contraintes existantes entre certaines informations relevées.
Grossesses

Interrompues Menées à terme

Enfants encore en vie Enfants décédés dans Enfants décédés après


leur première semaine leur première semaine

Les grossesses sont menées à terme ou interrompues et le nombre de grossesses menées à terme
doit correspondre à la somme du nombre d’enfants encore en vie et du nombre d’enfants décédés
(dans leur première semaine et après)
Ces contraintes sont à la base des contrôles de saisie qui vont suivre.
Etape 1 : Ouvrir un projet existant et le compléter
a) Cliquer sur le bouton Create Form dans l’écran principal d’EpiInfo, puis ouvrir le projet :
Obstetrique.prj.
b) Ajouter une page supplémentaire, Antécédents Obstétricaux, en cliquant sur File/New Page.
c) Ajouter, dans cette nouvelle page, les champs suivants :

Question ou intitulé (Prompt) Nom (Field Type Spécificités


Name)

Antécédents obstétricaux Label/Title Gras, Taille


14
Nombre de grossesses GROSSESSE Number ## , gras
Interrompues INTERRUPT Number ##
Menées à terme ACCOUCH Number ##
EN_VIE Number ##
Nombre d’enfants encore en vie
Nombre d’enfants décédés au cours DCD_SEM1 Number ##
de la première semaine
Nombre d’enfants décédés après la DCD_AP_SEM1 Number ##
première semaine
Commentaires COMMENTS Multiline
Améliorer la mise en forme de cette page : ajouter des groupes pour qu’elle ressemble au formulaire
ci-dessous, réinitialiser si nécessaire l’ordre de tabulation, changer la couleur de fond, l’alignement
des champs,…
Etape 2 : Développer du code pour contrôler la saisie
Les contrôles de saisie doivent permettre d’établir des règles et des conditions à vérifier lors de
l’entrée de données afin d’améliorer leur qualité.
Le code associé peut être très simple comme assez compliqué.
En cliquant sur le bouton intitulé Check Code on active l’éditeur de code. Chaque partie du code
est associée à une variable existante (ou une page, un formulaire, un enregistrement). La 40
liste des variables est accessible dans la zone Choose Field Block for Action (les variables sont
présentées par pages).
Valider la saisie du nombre de grossesses interrompues
Lorsque l’on saisit cette information seul le nombre de grossesses est connu : la seule
contrainte à vérifier est la suivante :
- le nombre de grossesses interrompues ne peut pas être plus grand que le nombre de grossesses
a) Cliquer sur le bouton Check Code , puis, dans la zone 1 : Choose Field
Block for Action : cliquer sur devant [Antécédents Obstétricaux] puis sur devant Interrupt
et double-cliquer sur After, ainsi le contrôle s’exercera après la saisie des données du
champs Interrupt
b) Cliquer sur la commande If dans la zone 2 : Add Command to Field Block
c) Inscrire Interrupt > Grossesse dans la zone If Condition. Pour cela il est possible de
sélectionner Interrupt à partir de la zone Available Variables, taper : >, puis sélectionner
Grossesse à nouveau dans la liste Available Variables
d) Cliquer sur le bouton , à droite de la zone Then et ensuite sur Dialog
e) Comme entête de boîte de dialogue donner dans Title : Erreur dans le nombre de grossesses
interrompues. Dans la zone Prompt taper : Le nombre de grossesses interrompues ne peut
excéder le nombre de grossesses !. Cliquer sur OK
f) Cliquer à nouveau surle bouton , à droite de la zone Then, puis sur Clear.
Choisir le champ Interrupt puis valider en cliquant sur OK
g) Cliquer une nouvelle fois sur le bouton , à droite de la zone Then, puis sur Goto..
Choisir le champ Interrupt puis valider en cliquant sur OK
h) Dans la boite de dialogue du IF, cliquer sur OK pour valider l’ensemble des commandes
qui apparaissent dans l’éditeur :
Field INTERRUPT After
//add code here
IF INTERRUPT > grossesse THEN
DIALOG " Le nombre de grossesses interrompues ne
peut excéder le nombre de grossesses !"
TITLETEXT=" Erreur dans le nombre de grossesses
interrompues "
CLEAR INTERRUPT GOTO INTERRUPT
END-IF
End-After
End-Field

i) Cliquer sur Save : pour enregistrer le contrôle de saisie lié au champ Interrupt puis
sur Close : , en haut de l’écran pour sortir de l’écran de l’éditeur de code.

Remarque : Avant de quitter l’éditeur de code, la syntaxe est vérifiée et doit être corrigée si
nécessaire.
Tester le fonctionnement de ce contrôle dans le module Enter Data

Puis faire Edit Form , et cliquer sur Check Code pour définir les contrôles suivants :
Lors de la saisie du nombre de grossesses menées à terme

- Règle : le nombre de grossesses doit égaler la somme du nombre de grossesses menées à


terme et du nombre de grossesses interrompues Code :
Field ACCOUCH
After
IF Grossesse<>Accouch+Interrupt THEN
DIALOG " le nombre de grossesses doit égaler la somme du nombre de
grossesses menées à terme et du nombre de grossesses interrompues "
TITLETEXT="Erreur dans le décompte des grossesses"
CLEAR Interrupt Accouch Grossesse
GOTO Grossesse
END-IF
End-After
End-Field
Lors de la saisie du nombre d’enfants vivants
Règles
- le nombre d’enfants vivants ne peut être supérieur au nombre de grossesses menées à terme.
- si le nombre d’enfants vivants correspond au nombre de grossesses menées à terme, alors
masquer le nombre d’enfants décédés lors et après leur première semaine
Code :
Field EN_VIE
After
IF En_vie>Accouch THEN
DIALOG "Le nombre d’enfants en vie ne peut pas être plus important que le
nombre de grossesses menées à terme !" TITLETEXT="Erreur dans le nombre
d’enfants en vie"
CLEAR En_vie
GOTO En_vie
ELSE
IF En_vie= Accouch THEN
HIDE DCD_sem1 DCD_ap_sem1
GOTO Comments
ELSE
UNHIDE DCD_sem1 DCD_ap_sem1
GOTO DCD_sem1
END_IF END-IF

End-After
End-Field

Remarque : Les parties THEN et ELSE peuvent inclure d’autres IF. Chaque IF se termine par un
END-IF.

Au niveau de la commande IF du contrôle de saisie, quand la partie ELSE comprend un IF : on ne


peut pas utiliser directement l’interface. Il faut finir de taper la commande dans l’éditeur de
programme, à gauche de l’écran.
Même si toutes les commandes peuvent être tapées directement dans l’éditeur de code, la syntaxe
est très stricte et vous pouvez essayer d’utiliser le plus possible l’interface quitte à
apporter ensuite quelques modifications (si cela est nécessaire).
Par exemple, pour écrire le contrôle du nombre d’enfants vivants on peut :
- lancer un premier IF avec simplement la partie THEN :
IF En_vie>Accouch THEN
DIALOG "Le nombre d’enfants en vie ne peut pas être plus important que le nombre
d’accouchements !" TITLETEXT="Erreur dans le nombre d’enfants
en vie"
CLEAR En_vie
GOTO En_vie END-IF

- puis lancer un deuxième IF avec la partie qui suit le ELSE :


IF En_vie= Accouch THEN
HIDE DCD_sem1 DCD_ap_sem1
GOTO Comments
ELSE
UNHIDE DCD_sem1 DCD_ap_sem1
GOTO DCD_sem1 END-IF

on a alors dans l’éditeur de programme


IF En_vie>Accouch THEN
DIALOG "Le nombre d’enfants en vie ne peut pas être plus important que le
nombre d’accouchements !" TITLETEXT="Erreur dans le nombre d’enfants
en vie"
CLEAR En_vie
GOTO En_vie (1)
END-IF
IF En_vie= Accouch THEN
HIDE DCD_sem1 DCD_ap_sem1
GOTO Comments
ELSE
UNHIDE DCD_sem1 DCD_ap_sem1
GOTO DCD_sem1
END-IF

Il suffit ensuite de remplacer le premier END (1) par ELSE et d’ajouter un autre END-IF à la fin
pour obtenir le code final.
Lors de la saisie du nombre d’enfants décédés pendant leur première semaine

Règles
- la somme du nombre d’enfants vivants et du nombre de ceux qui sont décédés lors de leur
première semaine ne peut dépasser le nombre de grossesses menées à terme
- si la somme du nombre d’enfants vivants et du nombre de ceux qui sont décédés lors de leur
première semaine correspond au nombre de grossesses menées à terme : masquer le champ
correspondant au nombre d’enfants décédés après leur première semaine.
Code :
IF En_vie + DCD_sem1 > Accouch THEN
DIALOG " La somme du nombre d’enfants en vie et de ceux décédés pendant leur
première semaine ne peut pas être plus important que le nombre d’accouchements !
" TITLETEXT="Erreur du nombre d’enfants en vie"
CLEAR En_vie DCD_sem1
GOTO En_vie
ELSE
IF En_vie + DCD_sem1 = Accouch THEN
HIDE DCD_ap_sem1
GOTO Comments
ELSE
UNHIDE DCD_ap_sem1
GOTO DCD_ap_sem1
END-IF
END-IF

Vous aimerez peut-être aussi