Leçon 32 : Alignement, espacement, et redimensionnement automatique des champs et des étiquettes

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 procd.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

Résumé de la leçon précédente

La fois passée, nous avons vu qu'on peut donc personnaliser chaque champ, chaque étiquette à l'envi : Chaque objet peut se colorer de plusieurs manières : On peut définir la couleur des caractères, de la bordure et du fond. On peut égaleemnt changer la police, ainsi que sa taille, et mettre en Gras/Italique/Souligné

Aperçu de cette leçon

Dans cette leçon, nous allons simplement apprendre à optimiser notre productivité en apprenant à très rapidement aligner, redimensionner et espacer les champs et les étiquettes de manière très précise et rapide, afin d'éviter de se fatiguer les yeux, et se fatiguer tout court à essayer d'aligner les différents champs les uns avec les autres.
Avant de commencer cette leçon, créez un formulaire complètement vide, en mode création, basé sur T_Celebrite

Lors des précédents exercices, j'ai constaté que ce n'était pas si évident d'aligner correctement les champs, de leur donner la même taille...

Oui, mais je vous ai expliqué dans la leçon 30 que pour qu'ils soient bien alignés, vous deviez prendre plusieurs champs à la fois depuis la liste des champs

Oui, bien sûr, mais ce n'est pas si simple, parfois, on aimerait bien le faire après...

Je comprend votre problème, par exemple, vous avez une série de champs comme ceci : Essayez de reproduire de formulaire tout mal foutu :

Voici la liste de tout ce qu'on peut lui reprocher :

Exactement... ALors, on peut tout corriger à la main, mais ce n'est pas évident !

Effectivement, il y a un truc ! Avant de commencer, il faut que vous sélectionnez TOUS les CHAMPS, mais PAS les étiquettes, en dessinant un rectangle, comme nous avons vu à la leçon 30 : . Tous les champs sont alors sélectionnés comme ceci :

Voilà, donc par exemple, je voudrais qu'ils soient tous alignés !

Alors, nous avons la possibilité de dire que tous les champs doivent être alignés sur le champ qui est le plus à gauche. Dans notre cas, c'est le Titre et le Prenom qui sont le plus à gauche. Pour ce faire, allez dans le menu Format/Aligner/Gauche. Maintenant, tous les champs sont alignés à gauche, comme ceci :

Parfait ! Et si je voulais quis soient tous de la même largeur ?

Alors, vous laissez tout sélectionné, et nous allons devoir définir si nous voulons que tous les champs soient de la même largeur que le plus large d'entre eux (Titre), ou que le plus étroit (NomClient). Disons qu'on veut qu'ils soient tous de la largeur du moins large (NomClient). Allez dans le menu Format/Taille/Au plus étroit. Maintenant, tous les champs sont comme le plus petit :

OK, mais c'est un peu petit...

Laissez les toujours tous sélectionnés, et vous pouvez les élargir tous d'un coup en utilisant la petite double flèche noire qui se trouve sur les petits carrés de droite : . Elarguissez tous les champs en même temps, comme ceci :

Bien. Maintenant, comment je fais pour les avoir tous de la même hauteur ?

C'est le même principe que pour la largeur : Il va falloir définir si vous voulezz que tous les champs soient égaux au plus haut (Prenom), ou au plus "écrasé" (Domaine)

OK: Disons au plus écrasé.

Alors, allez dans le menu Format/Taille/Au plus petit :

Ah oui, mais ils sont trop écrasés maintenant...

Oui ? Et alors, qu'est ce que vous faites ?

Eh bien... Comme avant, je cherche la petite double flèche noire, et je les élargis tous en même temps ?

Exactement. Vous obtenez alors ce résultat :

Parfait !!! Et pour qu'ils soient écartés les uns des autres toujours de la même manière ?

Alors, là, effectivement, on constate que Titre est éloigné de NomClient, NomClient est tout collé à Prenom, et Domaine est à nouveau trop loin. Pour ajuster tout ça, Allez dans le menu Format/Espacement vertical/Egaliser. Vous obtenez ce résultat :

C'est bien, mais ils sont un petit peu trop écartés à mon goût...

Allez dans le menu Format/Espacement vertical/Diminuer : . Et si vous voulez encore les resserer, vous refaites encore Format/Espacement vertical/Diminuer une fois ou deux :

Impeccable. Le truc, c'est qu'il faut bien penser à sélectionner tous les champs qu'on veut égaliser !

Oui, pour tout ce qui est Format/Taille, ou Format/Aligner, ou Format/Espacement, c'est totalement idiot d'essayer d'accéder à ces menus si vous n'avez pas sélectionnés plusieurs champs à la fois.

Oui, c'est logique ! Autre chose : Je constate que l'étiquette Domaine est un tout petit peu trop haut par rapport au champ Domaine. On peut les aligner ?

Oui, bien sûr : Vous commencez par sélectionner le champ domaine ET l'étiquette domaine, en dessinant un carré avec la souris pour les prendre les deux, je suppose que vous savez faire ça maintenant. Voci le résultat que vous devriez obtenir : Des petits carrés autour du champ ET de l'étiquette :

AH ! J'ai compris : Je fais Format/Aligner/Bas !

Exactement : Maintenant le champ et l'étiquettes sont juste en face l'un de l'autre, sans décalage :

Par contre, les étiquettes ne sont pas du tout alignées :

Non... Nous allons essayer de toutes les aligner correctement, et en même temps, nous allons les rapprocher de leurs champs respectifs, parce que là, elles sont un peu loin.

Il faut pour commencer que nous ayons une référence. Agrandissez juste l'étiquette Nom de manière à ce qu'elle soit presque contre le champ NomClient, comme ceci :

Ensuite, vous sélectionnez TOUTES les ETIQUETTES, mais PAS les CHAMPS. Voici ce que vous devriez obtenir :

Et maintenant nous allons aligner toutes les étiquettes sur celle qui se situe le plus à droite (Nom). Pour ce faire, Allez dans le menu Format/Aligner/Droite. Voici le résultat :

Mais... c'est tout bien aligné, mais pas le Nom, pourquoi ?

Alors attention, c'est un peu subtil : En fait, l'alignement automatique concerne l'étiquette elle-même, pas son contenu : Je m'explique : Ici, toutes les étiquettes sont bien alignées sur la droite, mais, en fait, rappelez-vous juste avant cette opération, je vous avais demandé d'élargir l'étiquette Nom pour qu'elle serve de référence de l'étiquette qui est la plus à droite... Du coup, l'étiquette est maintenant plus large que ce qu'elle contient : Nom se trouve dans un rectangle (une étiquette) trop large pour lui... Alors, oui, toutes les ETIQUETTES sont BIEN alignées à DROIT, mais PAS leur contenu... Leur contenu est en fait, par défaut aligné à GAUCHE à l'intérieur de l'éltiquette.... Vous suivez ?

Donc, maintenant, 2ème opération : Cliquez sur l'icône I (pas I de Italique, l'icône après l'icone H) pour aligner en plus les contenus des étiquettes à droite dans leur petit rectangle :

En fait, comme toutes les étiquettes étaient sélectionnées quand vous avez demandé l'alignement à droite, tous les contenus des étiquettes sont maintenant alignés à droite de leur petit rectangle, mais vous ne vous en rendez compte qu'avec le Nom, simplement parce que les autres étiquettes sont à peu près exactement de la taille du rectangle qui les contient, ce qui fait qu'on en se rend pas compte si l'alignement est gauche ou droite...

Compris. C'est pas évident mais je crois que j'ai compris. Bon maintenant, c'est pas la peine d'avoir une étiquette Nom qui est largeemnt plus grande que son contenu. Je peux la réduire ?

Bien entendu. N'oubliez pas de cliquer ailleurs avant de resélectionner l'étiquette Nom afin de la réduire, parce que comme pour l'instant toutes les étiquettes sont sélectionnées, si vous réduisez une, vous allez toutes les réduire

Oui, bien sûr.

Mais en fait, je vous livre une astuce : Laissez toutes les étiquettes sélectionnées, et cliquez simplement 2 fois sir le petit carré de gauche de l'étiquette Nom : . Ca ajuste automatiquement toutes les étiquettes à leur contenu : . Bon, comme ici, seule l'étiquette Nom était trop grande, les autres étiquettes n'ont pas changé.

C'est un peu comme dans Excel : Quand on clique entre 2 colonnes, Ca ajuste automatiquement sa largeur ?

Oui, c'est le même principe

Et pour les champs, c'est pareil ? On peut également double cliquer sur les petits carrés pour qu'ils prennent la place optimale ?

Non, parce que les champs ne sont pas pareils : En mode création, c'est écrit "NomClient", mais en mode saisie de données, les noms vont varier d'un enregistrement à l'autre, ce n'est donc pas possibée.

Fermez ce formulaire, et ne le sauvegardez pas

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

Les formulaires sont personnalisables à l'infini, et les champs avec leurs étiquettes peuvent se placer comme bon nous semble. Mais par souci de productivité, Access dispose de quelques outils bien sympathiques qui permettent d'automatiser les alignements : Tout ceci se trouve dans le menu Format : Aligner permet d'aligner les champs/étiquettes sur le champ/étiquette qui se trouve le plus à gauche, ou a droite, ou en haut ou en bas. Format/Taille permet de donner la même taille à toute une série de champs/étiquettes, en se basant sur le plus grand, le plus petit, le plus large ou le plus étroit. Et enfin, format/espacement vertical permet d'égaliser, d'augmenter ou de diminuer l'espacement se trouvant entre les étiquettes/champs. L'espacement horizontal fonctionne de la même naière, mais est beaucoup moins utilisé.

Avez-vous bien compris ?

  1. Une étiquette contient systématiquement du texte qui a la même taille que l'étiquette Elle-même
    a. Non, le texte peut-être plus grand ou plus petit que l'étiquette, c'est possible. ***
    b. Oui

  2. Il est possible de faire Format/Aligner/Bas même si on n'a sélectionné qu'un seul champ ?
    a. Oui
    b. Non ***

  3. Format/Aligner/Au plus grand
    a. Permet de donner la taille du champ le plus large de toute la sélection à tous les champs
    b. Permet de donner la taille du champ le plus grand en hauteur de toute la sélection à tous les champs sélectionnés ***
    c. Permet de changer le nombre de caractères des champs sélectionnés directement dans la table

  4. Format/Espacement vertical/égaliser
    a. Permet de donner la même hauteur à tous les champs sélectionnés
    b. Permet de coller d'un seul coup tous les champs les uns en dessous des autres
    c. Permet de donner le même espacement entre chaque champ dans le sens de la hauteur ***

  5. Format/Aligner/Taille moyenne
    a. Permet de donner la taille moyenne de tous les champs sélectionnés à tous les champs sélectioonnés
    b. Permet de définir un espacement moyen entre les champs sélectionnés
    c. N'existe pas ***

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 consiste à reproduire le formulaire suivant dans votre base de données habituelle ProCD :

Constatez que je n'ai pas installé la case à cocher Décédé. L'exercice consiste à utiliser au maximum les notions décrites dans cette leçon. Si vous arrivez à le faire en 3 minutes maximum, félicitations !

Téléchargez la solution de l'exercice ici, qui n'est autre que ProCD.MDB tel qu'il 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 procd.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.

Aperçu de la leçon suivante

Lors de la prochaine leçon,