Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Impression ajustée dynamiquement
Pour des raisons d'efficacité, il est intéressant que les réglages de mise en page soient prédéfinis sur les tableaux de
feuille Excel. Ainsi, il n'y a plus qu'à commander l'impression pour éditer les résultats. Mais lorsque les données de ces tableaux évoluent régulièrement, ces réglages volent en éclat. Ici, nous présentons une solution pour que ces paramétrages s'ajustent au gré des implémentations.
Le tableau illustré par la capture est une base de données des produits d'une société. Ceux-ci peuvent évoluer à tout instant. La base peut s'enrichir par
connexion dynamique à une source externe. Mais elle peut aussi être alimentée manuellement ou encore par le biais d'un
formulaire d'insertion. De fait, la zone d'impression doit s'adapter automatiquement à la densité des données à éditer.
Source et présentation
Pour réaliser ces manipulations, nous suggérons tout d'abord de récupérer cette base de données.
Nous réceptionnons en effet une petite
base de données. Le tableau est situé entre les colonnes B et H et les lignes 3 et 17. Cette source est destinée à évoluer. C'est la raison de la présence d'une seconde feuille nommée Complément. Nous utiliserons ces articles supplémentaires pour simuler l'alimentation du tableau. Rappelons-le, l'objectif est de pouvoir adapter la
zone d'impression afin d'accueillir automatiquement les nouvelles entrées à éditer avec les anciennes.
Réglages de mise en page
Avant toute chose et pour permettre une édition en bonne et due forme, des paramétrages fixes peuvent être définis. Il s'agit d'ailleurs de notions que nous avions abordées dans le détail au travers de la
formation Excel sur les techniques de mise en page.
Cette technique permet d'afficher l'aperçu avant impression pour la feuille active.
Le moins que l'on puisse dire, c'est que du travail se profile. Le tableau est trop large pour tenir sur une feuille orientée en
mode portrait. De plus, seules les données de la base nous intéressent. Donc, la barre de navigation située au-dessus de ce dernier doit disparaître à l'édition. Ensuite, nous souhaitons que les données soient centrées dans la largeur de la page. Et surtout, nous souhaitons que la
zone d'impression évolue en fonction des informations ajoutées. Ce dernier point, nous l'aborderons lorsque les réglages préliminaires seront opérés.
- Cliquer sur la flèche de retour en haut à gauche de la fenêtre Excel pour revenir sur la feuille,
- En haut de la fenêtre Excel, cliquer sur l'onglet Mise en page pour activer son ruban,
- En bas à droite de la section Mise en page du ruban, cliquer sur le petit bouton d'option,
Nous affichons ainsi la boîte de dialogue
Mise en page pour des réglages avancés.
- Dans la section Orientation de l'onglet Page, cocher la case Paysage,
De cette façon, la feuille est orientée à 90 degrés pour l'impression. Elle est plus large que haute. Elle doit donc être en mesure d'accueillir toutes les colonnes du tableau.
- Cliquer sur l'onglet Marges de cette boîte de dialogue,
- Dans la section Centrer sur la page, cocher la case horizontalement,
De cette manière, les données choisies pour l'édition seront centrées sur la largeur de la page d'impression.
- Cliquer maintenant sur l'onglet Feuille de la boîte de dialogue,
- Dans la section Titres à imprimer, cliquer dans la zone Lignes à répéter en haut,
Ainsi, nous l'activons. Son rôle est de définir la ou les lignes de titres à répéter sur chaque page lorsque les données se multiplient et débordent.
- Sur la feuille Excel, cliquer sur l'étiquette de la ligne 3 (Cf.capture ci-dessus),
Il en résulte la syntaxe suivante :
$3:$3. Nous venons simplement de définir la ligne des titres comme la ligne de référence. Pour des raisons d'ergonomie, ils seront rappelés sur chaque page de l'impression si d'aventure les données venaient à déborder sur d'autres feuilles.
- Cliquer sur le bouton Ok de la boîte de dialogue pour valider ces réglages,
- De retour sur la feuille, réaliser le raccourci clavier CTRL + P pour commander l'aperçu,
Le résultat est meilleur mais il n'est pas encore satisfaisant. Une colonne est tronquée. Il s'agit de la dernière et elle n'apparaît pas. Malgré le réglage, le tableau n'est pas lui-même centré sur la largeur de la page en raison de la colonne A intégrée dans l'édition. Elle est vide et ne doit pas être incluse. Elle provoque un décalage. La barre de navigation est toujours présente.
- Cliquer sur la flèche de retour en haut à gauche de la fenêtre Excel pour revenir sur la feuille,
Une dernière manipulation permet de corriger tous ces défauts. Elle consiste à définir quelle est la zone à précisément imprimer.
- Cliquer sur l'une des données à l'intérieur du tableau, par exemple sur la cellule B5,
- Réaliser alors le raccourci clavier CTRL + A,
Nous connaissons cette
astuce Excel. Dans le contexte d'un tableau et de l'une de ses cellules présélectionnée, elle permet d'étendre la sélection à l'intégralité des données du tableau.
- Dans le ruban Mise en page, cliquer sur le bouton ZoneImpr,
- Puis, choisir la commande Définir,
De cette manière, nous définissons strictement la zone d'impression sur les bornes du tableau.
Il convient maintenant de tester l'impact de ces réglages.
- Réaliser le raccourci clavier CTRL + P pour commander l'aperçu avant impression,
Cette fois, le tableau est parfaitement centré sur la largeur de la page à imprimer. La première colonne a disparu n'occasionnant plus aucun décalage. Grâce à ce gain de place, la dernière colonne du tableau, produit_code, a été intégrée sur la même feuille. Et si malgré tout nous avions manqué de place en largeur, nous aurions encore pu jouer sur l'échelle grâce à la section
Mise à l'échelle du ruban
Mise en page. Enfin, vous notez que la barre de navigation a elle aussi été exclue de l'édition.
- Cliquer sur la flèche de retour en haut à gauche de la fenêtre Excel pour revenir sur la feuille,
Pour l'instant, nous n'avons pas pu vérifier le bon fonctionnement du réglage sur la ligne des titres. Les données ne sont pas encore suffisamment nombreuses pour déborder sur d'autres feuilles à l'édition.
Zone d'impression variable et ajustée
Les réglages précédents étaient nécessaires pour une présentation structurée et maîtrisée des informations. Mais ils ne suffisent pas. La vue proposée est désormais figée. Elle est strictement bornée à la zone d'impression que nous avons définie. Or, dans le contexte de données en perpétuelle évolution, elle doit s'adapter. Et nous allons commencer par constater quelles sont les limites actuelles.
- En bas de la fenêtre Excel, cliquer sur l'onglet Complément pour activer sa feuille,
- Sélectionner l'une des données du tableau en cliquant par exemple sur la cellule B3,
- Réaliser le raccourci clavier CTRL + A pour étendre la sélection à toutes les informations,
- Copier ces données par le raccourci clavier CTRL + C,
- En bas de la fenêtre Excel, cliquer sur l'onglet Catalogue pour revenir sur sa feuille,
- Sélectionner la première cellule vide à la suite du tableau, soit B18,
- Coller les informations précédemment copiées par le raccourci clavier CTRL + V,
- Puis, commander l'aperçu avant impression par le raccourci clavier CTRL + P,
Comme vous le remarquez, l'édition proposée n'a pas évolué. Elle est bornée à la zone d'impression que nous avions définie sur les anciennes limites du tableau. De fait, les nouvelles informations n'ont pas été intégrées. Il s'agit d'un problème majeur à solutionner.
- En haut à gauche de la fenêtre Excel, cliquer sur la flèche de retour pour revenir sur la feuille,
La zone d'impression doit évoluer en même temps que le tableau s'enrichit.
- En haut de la fenêtre Excel, cliquer sur l'onglet Formules pour activer son ruban,
- Dans la section Noms définis du ruban, cliquer sur le bouton Gestionnaire de noms,
- Dans la boîte de dialogue du gestionnaire, sélectionner la plage nommée Zone d'impression,
En consultant la zone
Fait référence à en bas de la boîte de dialogue, vous notez que cette plage est définie sur les bornes du précédent tableau :
=Catalogue!$B$3:$H$17. Avec une telle syntaxe, cette
zone d'impression est nécessairement stricte et statique. C'est elle que nous devons rendre dynamique et extensible grâce à la
fonction Excel Decaler.
- Supprimer le contenu de la zone Fait référence à ,
- Puis, taper le symbole égal (=) pour démarrer la construction de la syntaxe,
- Inscrire la fonction d'ajustement suivie d'une parenthèse, soit : Decaler(,
- Sur la feuille, sélectionner la ligne de titre du tableau, soit la plage de cellules $B$3:$H$3,
Nous désignons ainsi le point de départ de la plage à ajuster automatiquement pour l'
impression. Cette ligne est nécessairement la première. Elle ne bouge pas.
Excel ajoute fort logiquement le nom de la feuille en préfixe :
Catalogue!$B$3:$H$3.
- Taper trois points-virgules successifs, soit : ;;;,
De cette manière, nous ignorons le deuxième et le troisième paramètres. Ils seront naturellement fixés à zéro par la fonction. Ils concernent respectivement le
décalage en ligne et le
décalage en colonne. Nous ne souhaitons observer ni l'un ni l'autre. De fait, nous nous trouvons propulsés dans le quatrième argument de la
fonction Decaler. Il concerne la hauteur de la plage. C'est précisément ce réglage qui nous intéresse. Nous souhaitons ajuster la hauteur de la
zone d'impression au gré des nouvelles entrées enregistrées.
- Inscrire la fonction comptant les lignes non vides d'une plage de cellules, soit : NbVal(,
- Désigner l'intégralité de la colonne B en cliquant sur son étiquette,
Du fait de la présence de cellules fusionnées en première ligne, le résultat obtenu n'est pas celui attendu :
Catalogue!$B:$C. La colonne C a été intégrée et son contenu ne doit pas être comptabilisé. Nous définirions sinon une zone de deux fois la hauteur du tableau.
- Remplacer la lettre C par la lettre B, ce qui donne : Catalogue!$B:$B,
Grâce à cette technique, nous comptons le nombre de données dans la colonne des références. Nous en déduisons la hauteur que nous ajustons ainsi. Cependant, elle doit être amputée de deux unités. Tout d'abord, le titre en première ligne ne doit pas être considéré dans le décompte. De plus, le titre du tableau lui-même est déjà comptabilisé puisque désigné dans la ligne de départ, en premier argument de la
fonction Decaler.
- Fermer la parenthèse de la fonction NbVal,
- Puis, retrancher deux unités, soit : -2,
- Fermer alors la parenthèse de la fonction Decaler,
- Cliquer sur le bouton à la cocher verte pour valider la syntaxe de la plage dynamique,
La syntaxe complète est donc la suivante :
=DECALER(Catalogue!$B$3:$H$3;;; NBVAL(Catalogue!$B:$B)-2)
- Cliquer sur le bouton Fermer du gestionnaire de noms pour revenir sur la feuille Excel,
- Sur la feuille Complément, sélectionner de nouveau toutes les données du tableau,
- Les copier (CTRL + C) puis les coller (CTRL + V) Ã la suite du tableau de la feuille Catalogue,
- Commander l'aperçu avant impression à l'aide du raccourci clavier CTRL + P,
Comme vous pouvez le voir, les nouvelles informations ont été dynamiquement et automatiquement intégrées pour produire l'édition. Sa zone a évolué au gré des enregistrements ajoutés. Le tableau est parfaitement centré sur la largeur de la page.
Vous pouvez faire défiler les pages suivantes à l'aide des flèches de navigation en bas de l'aperçu.
La ligne de titre est effectivement répliquée en entête de chaque page d'impression. Les données ajoutées suivent et grâce à cette technique, Il n'y aura jamais plus de pages que de données nécessaires Ã
imprimer.