PROCEDURE FormateChamp(NomDuChamp)
//** Déclaration des Variables **
Re_MonMultiple est un réel
Ent_NumPage est un entier
Re_XChampDebut est un réel
Re_XChampFin est un réel
Re_YChampDebut est un réel
Re_YChampFin est un réel
//** Initialisation des Variables **
Re_XChampDebut = {NomDuChamp,indChamp}..X
Re_XChampFin = {NomDuChamp,indChamp}..X + {NomDuChamp,indChamp}..Largeur
//** Initialisation des Y **
Re_YChampDebut = {NomDuChamp,indChamp}..Y
Re_YChampFin = {NomDuChamp,indChamp}..Y + {NomDuChamp,indChamp}..Hauteur
//** Initialisation du numéro de page **
Ent_NumPage = 1
//** On ajoute aux coordonnées les impressions précédentes des autres blocs **
Re_MonMultiple = (G_Ent_NbPassages + 1) / 4
TANTQUE Re_MonMultiple > 1
Ent_NumPage++
Re_MonMultiple = Re_MonMultiple / 4
FIN
SI Ent_NumPage = 1 ALORS
Re_YChampDebut += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage)
Re_YChampFin += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage)
SINON
Re_YChampDebut += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage) + (BAS_DE_PAGE..Hauteur * (Ent_NumPage - 1))
Re_YChampFin += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage) + (BAS_DE_PAGE..Hauteur * (Ent_NumPage - 1))
Re_YChampDebut += (COMPLEMENT_CORPS..Hauteur * (Ent_NumPage - 1))
Re_YChampFin += (COMPLEMENT_CORPS..Hauteur * (Ent_NumPage - 1))
FIN
//** On regarde si le champ à une valeur ou non **
SELON {NomDuChamp,indChamp}
//** Champ Vide **
CAS "" :
//** On mets au niveau du bas du champ une ligne pointillé pour donné l'emplacement de la saisie **
iCadre(Re_XChampDebut,Re_YChampDebut,Re_XChampFin,Re_YChampFin, 1, 0, iBleuFoncé, iPointillé, iHorizontale, iBordBas)
//** Champ avec une donnée **
AUTRES CAS :
//** On ne fait rien **
FIN
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=4626&post_id=19188