Leçon 53 : Etats : Colonnes, mesures et options d'impression, tri d'un état, analyse de l'assistant étiquette

Temps nécessaire pour suivre cette leçon : Entre quarante minutes et un peu plus d'une heure

Pour suivre cette leçon, vous devez avoir suivi les leçons précédentes. Ou plus précisément, vous devez être en possession de la base de données ProFormation.mdb telle qu'elle était à la fin de la leçon précédente. Si vous n'êtes pas certain de l'avoir, vous pouvez la télécharger ici

Aperçu de cette leçon

Dans cette leçon, nous allons parler de la possibilité de créer des états sur plusieurs colonnes, ainsi que des mesures en centimères précises pour un bon affichage (marges et dimensions).

Nous verrons à la fin que l'assistant étiquettes se repose sur les colonnes et ces dimensions dont nous allons parler.

Sommaire

  1. Marges par défaut haut, bas, gauche et droite
  2. Mise en garde sur les sections trop larges qui ne contiennent rien
  3. Colonnes : Largeur, sens et espacement inter-colonnes
  4. Bricolage : ajout d'une ligne séparatrice entre les colonnes
  5. Ordre d'affichage des données dans les colonnes
  6. Comparaison de l'assistant Etat Etiquette avec les colonnes

Lorsque vous créez un état, il est indispensable d'optimiser l'affichage sur votre page A4 (Généralement A4, mais on peut bien entendu changer de taille de papier, par exemple pour utiliser de l'A3, pour autant que votre imprimante accepte une telle taille).

Créer un nouvel état, en mode création, basé sur T_Celebrite.

C'est cette règle qui va nous intéresser : . Elle graduée en centimères. Vous voyez qu'ici la largeur de la zone d'en-tête de page est de 10 centimères... Connaissez-vous la largeur d'une feuille A4 ?


Marges par défaut haut, bas, gauche et droite

21 CM ?

Oui. Une page A4 mesure 21 CM en largeur et 29.7 CM en hauteur. Mais attention : vous n'avez pas le droit d'utiliser la totalité des 21 centimètres... Il y a des marges à gauche et à droite.

Supprimez l'en-tête et le pied de page, et mettez le prénom et le nom, comme d'habitude : Collez les bien tout à gauche, et réduisez la grille blanche, comme ceci : . Lancez votre état, et constatez que bien que vous avez collé les champs à gauche et tout en haut, il y a évidemment une marge : . Pour connaître la taille de ces marges, allez dans le menu Fichier/Mise en page : . C'est donc dans l'onglet Marges que vous sont fournies les tailles (en millimètres) des marges Gauche, Droite, Haut et Bas. Pourquoi 24.99 MM et pas 25 ? Je ne sais pas... Sans doute un arrondi de conversion dû au fait qu'à la base c'étaient peut-être des mesures anglaises. Bref : Ces marges sont en gros définies à 2,5 CM de tous les côtés. Réduisons-les toutes à 1 CM (10 MM) : , et cliquez sur OK : . Bon, on dirait que la marge du haut est un tout petit peu plus grande que la marge de gauche, je ne sais pas pourquoi, c'est peut être à cause de l'affichage à l'écran.

ATTENTION : aussi bien avec Access 97 qu'avec Access 2000, j'ai constaté un petit bug : une fois les marges redéfinies, il faut bien sûr enregistrer l'état si on veut le garder, mais j'ai constaté à plusieurs reprises que ces marges ne s'enregistrent pas toujours, et reviennent spontanément à 24.99 MM... Je me suis dit que c'était peut être parce qu'il fallait faire cette manipulation en mode création plutôt qu'en aperçu avant impression, mais selon les cas, c'est aléatoire, il les garde ou non... Alors, il faut insister lourdement, et les remettre à 10MM. Au bout de quelques fois, finalement il les garde en mémoire, et ça ne bouge plus, mais c'est parfois un peu pénible.

Admettons qu'il les garde a 10 MM de tous les côtés, il faut maintenant effectuer un calcul pour déterminer la taille en largeur que l'on a le droit d'utiliser: 21CM de largeur de la feuille, moins 1 CM de la marge de gauche, moins un centimètre de la marge droite = 19 CM.


Mise en garde sur les sections trop larges qui ne contiennent rien

Faisons une expérience : écartez la grille blanche qui représente la zone imprimable jusqu'à à peu près 18.5 CM : . Lancez votre état en mode aperçu.. Rien ne change, il affiche exactement la même chose que lorsque la zone était étroite... Mais maintenant, élargissez-là encore un tout petit peu jusqu'à 19.5 CM (Trop large donc pour la feuille puisqu'on a dit que c'était 19CM maximum) : . Cette fois, quand vous lancez votre état, un message s'affiche :

Comme la section (La grille blanche) dépasse les 19 CM autorisés, il reste alors un demi centimètre de zone toute blanche... Et il va vouloir l'imprimer quand même cette petite tranche toute inutile. Il va l'imprimer sur ... la page suivante. Ce qui fait que :

  1. La première page va bien contenir les premières données
  2. La deuxième page va être toute blanche
  3. La troisième page va contenir la suite des données
  4. La quatrième page va être blanche
  5. etc.

Comme ceci :

Donc, il ne faut pas dépasser les 19CM...

C'est aussi simple que ça. Resserrez maintenant au maximum la grille blanche vers la gauche :


Colonnes : Largeur, sens et espacement inter-colonnes

Vous avez parlé de colonnes également... De quoi s'agit il ?

Vous avez la possibilité d'imprimer un état sur plusieurs colonnes sur la feuille.

Dans notre cas, justement, nous n'imprimons que les noms et les prénoms, seule la partie gauche de la feuille est utilisée : C'est dommage ! Autant imprimer sur 2 ou 3 colonnes, ce sera plus économique.

Pour voir le nombre de colonnes désirées, allez dans le menu Fichier/Mise en page, Onglet Colonnes : . Précisez que vous désirez 2 colonnes. Mais alors... Pouvez-vous toujours calculer l'espace mangé sur votre feuille A4 à présent ?

Oui, mon état réel mesure 6 CM (). Comme j'ai demandé 2 colonnes, ça me fait 2X6 = 12 CM, je suis en dessous des 19 CM. Je pourrais même demander 3 colonnes, c'est ça ?

C'est ça. Presque. Lancez l'état en aperçu avec vos 2 colonnes :

Pourquoi est-ce que vous avez dit "Presque"

Parce qu'il y a un espace inter-colonne. Pour le visualiser, revenez en mode création, et peignez le nom en jaune et le prénom en bleu : . Lancez l'état, et regardez : . Cet espace a été créé automatique à cet endroit : Menu Fichier/Mise en page, onglet colonnes : . Mettez cette valeur à 0 au lieu de 0.635, et OK. Relancez l'état, il n'y a plus d'espace : . C'est pourça que je vous ai répondu "Presque" tout à l'heure : Pour le calcul de la place nécessaire, c'est la taille des colonnes PLUS l'espacement inter-colonnes. MAINTENANT qu'il n'y a plus d'espace votre calcul est juste.


Bricolage : ajout d'une ligne séparatrice entre les colonnes

Et si je ne voulais pas du jaune et du bleu, mais une ligne séparatrice entre les 2 colonnes, c'est possible ? C'est aussi dans Fichier/Mise en page/Colonnes ?

Non. Il va falloir la dessiner à la main, c'est un peu astucieux, mais voilà :

  1. Réinitialisez les couleurs de fond des champs à Transparent :
  2. Ecartez un tout petit peu la grille vers la droite : - (Entre nous, ça donne le même résultat de faire ceci que de définir un espacement inter-colonnes... Il me semble que cette méthode est plus facile pour le calcul de la place nécessaire)
  3. Dans cet espace supplémentaire, tracez une petite ligne verticale () qui prend toute la hauteur, comme ceci : . Lancez votre état :

C'est magique !

Rien de magique : à côté du nom, il y a une toute petite ligne verticale, et comme le nom suivant est collé au nom d'avant, la ligne aussi, est collée. D'ou cette illusion d'une grande ligne séparatrice. Il suffit que vous écartiez un tout petit peu le détail : pour constater le phénomène : Les petites lignes ne se rejoignent plus :

Compris. Mais la 2ème ligne qui se trouve après la 2ème colonne n'est pas nécessaire. On peut l'enlever ?

Eh non ! Pas facilement : c'est normal, puisque nous avons demandé pour chaque colonne : Le prénom, le nom et une ligne... Pour toutes les colonnes, il y aura donc une ligne : Je vous avais prévenu, c'est du bricolage.

On pourra la retirer, mais pas tout de suite, car ca demande de sérieuses compértences en Visual Basic. Peut-être dans une version ultérieure d'Access y aura-t-il une simple case à cocher "Ligne de séparation" - Comme dans Word d'ailleurs, il y a cette option, mais pas ici, voilà...


Ordre d'affichage des données dans les colonnes

Il y a encore quelque chose dont je ne vous ai pas parlé : c'est l'ordre d'affichage des données.

Pour illustrer mon propos, j'aimerais que vos données apparaissent par ordre alphabétique des prénoms (pour changer). Tout comme il n'était pas forcément nécessaire de faire une requête pour extraire les gens qui ont un salaire connu, mais un filtre suffit (leçon précédente), il existe aussi une astuce pour trier les données directement dans l'état.

Demandez les propriétés de l'état lui-même, et dans l'onglet Données, Ecrivez Prenom dans la propriété "Tri par", et écrivez Oui dans "Tri Actif". Profitez-en pour exclure les gens qui n'ont pas de prénom en écrivant Prenom<>Null dans Filtre Par, et Filtre Actif : Oui : . Lancez l'état, et constatez l'ordre dans lequel il s'imprime : Al (1ème colonne), Albert (2ème colonne), Alberto (1ère colonne), etc. Alfred, Amélie, Ayrton... Moi, je ne trouve pas ça très lisible. J'aimerais qu'au contraire, il remplisse la première colonne, et, ensuite qu'il continue ave la 2ème (et, s'îl y en avait une, qu'il imprime la 3ème). Cette option se trouve dans le menu Fichier/Mise en page, onglet Colonnes : . Cliquez sur la 1ère option : Vers le bas, et vers la droite. Cette fois, l'affichage s'effectue dans l'autre sens :

C'est plus clair comme ça !
Peut-on obtenir, comme en-tête d'état, un titre qui traverse toute la page (les 3 colonnes)

Non, ce n'est pas possible comme ça.

C'est en 3 colonnes du début de l'état jusqu'à la fin. Point final ! Il y a une possibilité de faire ce que vous demandez, mais en utilisant un sous-état, ce qui déborde largement de cette leçon.

Enregistrez votre état : E_Colonne

Je vais vous rappeler d'anciens souvenirs : Les étiquettes. Vous vous rappelez ? c'était à la leçon 43.

Oui, quel rapport avec les colonnes ?

Un rapport très étroit ! Nous sommes d'accord sur le fait que nous pouvons disposer les champs les un en dessous des autres, et élargir la section détail à loisir, comme ceci par exemple :


Comparaison de l'assistant Etat Etiquette avec les colonnes

Oui, je vous suis toujours...

Eh bien voilà ! C'est ce qu'utilise l'assistant étiquette pour faire son état : Une certaine largeur, une certaine hauteur, une certaine marge en haut, bas, gauche et droite, et un certain nombre de colonnes, c'est tout... Simplement, c'est dans l'assistant Etiquette que vous allez préciser toutes ces mesures de manière bien conviviale : . Pour vous en convaincre, créez un état avec assistant étiquettes (revoyez éventuellement la leçon 43), basé sur le modèle "Etiquettes trouvées dans un tiroir", et sur T_Celebrite, avec ces quelques champs : , appelez-le E_EtiquetteColonne, et visualisez-le en mode création :

On a pas encore vu cette fonction SupprEspace, et le & ?

Non. Une chose après l'autre. Fermez cet état et revenez dans E_Colonne. Nous allons étudier la règle verticale : . Vous constatez que dans notre cas, un quart de centimètre environ est utilisé verticalement pour l'affichage des champs, il suffit dès lors de multiplier 0.25 CM par le nombre d'enregistrements pour avoir une idée de la hauteur totale de votre état.

Dans notre cas, nous avons environ 100 enregistrements : 100 X 0.25 = 25 CM en hauteur, mais comme nous avons 2 colonnes, il n'y a plus besoin que de 12.5 CM en hauteur, mais attention, il faut encore déduire 1 CM en haut et 1 CM en bas de marge.

Enfin bref, ça devrait tenir sur une page A4. Si vous rajoutez un en-tête de page, un en-tête d'état, ou un pied de page ou d'état, ou des en-têtes ou pieds de groupes, ça complique chaque fois le calcul. Finalement, en hauteur, on ne s'occupe pas vraiment de ce que ça va donner : C'est la suprise à l'aperçu avant impression.

Nous allons nous arrêter là pour cette leçon.

Bon... Hem... On peut résumer ?

Pour bien maîtriser la conception d'un état, il est nécessaire de connaître et définir correctement les marges.

Par défaut, elles sont définies à 2.5Cm (2.499) de chaque côté de la feuille, mais rien n'empêche de changer ces dimensions.

Lorsqu'on déborde de la marge de droite, un message d'avertissement nous signale l'erreur.

Des colonnes sont ensuite applicables, bien pratiques lorques les données à imprimer ne sont pas très larges et qu'il s'agit d'économiser du papier.

Un petit bricolage nous permettra d'afficher des séparations entre les colonnes.

Enfin, nous avons vu que l'assistant étiquettes s'appuie sur toutes ces mesures..

Avez-vous bien compris ?

  1. Quelle est la taille d'une page A4 ?
    a. 20 X 30 CM
    b. 21 X 29.7 CM ***
    c. 21 X 21.7 CM
    d. 25 X 29.7 CM

  2. Les tailles des marges suivantes peuvent être redéfinies manuellement :
    a. Gauche et droite
    b. Haut et Bas
    c. Gauche, droite, haut et bas ***
    d. Aucune ne peut être redéfine

  3. Combien de colonnes maximum est-il possible de créer ?
    a. 3
    b. 5
    c. 8
    d. La limite dépend seulement de la largeur des données à imprimer *** (Bien qu'il y ait peut être une limite mais je ne la connais pas)

  4. Il est possible de modifier la mise en page en passant par le menu Fichier/Mise en page :
    a. En mode création seulement
    b. En mode aperçu avant impression seulement
    c.
    En petit mode amour
    d. Indifféremment en mode aperçu avant impression ou en mode création ***


  5. Comment dessine-t-on une ligne séparatrice entre les colonnes ?
    a. Dans Fichier/mise en page, onglet Colonnes : Cochez la case "Ligne séparatrice"
    b. Dans Fichier/mise en page, onglet Colonnes : Cochez la case "Séparer les colonnes"
    c. Dans Fichier/mise en page, onglet Colonnes : Cochez la case "Diviser les colonnes"
    d. Il faut dessiner à la main une petite ligne verticale à droite des données à imprimer ***

Pour voir les solutions, il vous suffit de sélectionner le questionnaire ci-dessus : 3 petites étoiles *** apparaîtront en face des bonnes réponses.

Exercice

L'exercice consite à reproduire cet état dans votre base de données Proformation.mdb. Vous l'enregistrerez sous E_ColonneGroupeEtatCivil. Le voici intégralement reproduit :

Prenez en compte les points suivants :

  • Les noms sont triés alphabétiquement dans chaque groupe
  • Le titre principal "Liste des célébrités groupées par Etat Civil"
  • Les données sont affichées "Vers le bas, puis vers la droite"
  • Les groupes ne commencent pas en fin d'une colonne pour finir sur la colonne d'à côté
  • L'encadrement gris des noms et prénoms (Ne cherchez pas d'options tordues : C'est simplement un rectangle gris qui les encadre)
  • J'ai exclu les gens dont l'état civil est inconnu (Filtrer par)
  • Il tient sur une seule page (pour l'instant... Il suffit d'ajouter un enregistrement ou deux, et il ne tient plus... Mais là il tient)

Téléchargez la solution de l'exercice ici, qui n'est autre que ProFormation telle qu'elle devrait être à la fin de cette leçon.

Si vous n'êtes pas tout à fait certain d'avoir suivi correctement toutes les étapes de cette leçon, vous avez la possibilité de télécharger ici la version de ProFormation.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.

Avez-vous une question technique concernant cette leçon ? Cliquez ici !
Une remarque sur cette leçon ? Un problème ? Une erreur ? une ambiguité ? Soyez gentil de m'en informer