Passer au contenu principal

Comment créer une zone d'impression dynamique dans Excel?

Normalement, la zone d'impression est constante après la configuration dans votre feuille de calcul. Dans certains cas, vous souhaitez que la zone d'impression s'ajuste avec le contenu d'impression que vous avez supprimé ou ajouté à tout moment. Comment y parvenir? Dans cet article, nous allons vous montrer une méthode de création d'une zone d'impression dynamique dans Excel.

Création d'une zone d'impression dynamique dans Excel


flèche bleue bulle droite Création d'une zone d'impression dynamique dans Excel

Comme illustré ci-dessous, en supposant que votre zone d'impression normale est A1: E5, mais les données de plage peuvent augmenter jusqu'à la ligne 10 et la colonne G. Vous pouvez créer une zone d'impression dynamique en procédant comme suit.

1. Vous devez d'abord créer une plage nommée dynamique. Cliquez sur Formules > Gestionnaire de noms. Voir la capture d'écran:

2. dans le Gestionnaire de noms boîte de dialogue, cliquez sur le Nouveauté bouton pour ouvrir le Nouveau nom boite de dialogue. Et dans la boîte de dialogue Nouveau nom, entrez Print_Area_Formule into the Nom, Prénom et entrez la formule =OFFSET($A$1,0,0,COUNTA($A$1:$A$10),COUNTA($A$1:$G$1)) into the Se réfère à et enfin cliquez sur le OK bouton. Voir la capture d'écran:

Notes: dans la formule, 10 $ AU et 1 $ G $ signifie que la zone d'impression ne dépassera pas la ligne 10 et la colonne G. Vous pouvez les modifier selon vos besoins.

3. Lorsqu'il revient au Gestionnaire de noms boîte de dialogue, veuillez la fermer.

4. Sélectionnez la plage avec les données que vous définirez comme zone d'impression (dans ce cas, nous sélectionnons A1: E5), puis clique Mise en page > Zone d'impression > Définir la zone d'impression. Voir la capture d'écran:

5. Cliquez Formules > Gestionnaire de noms ouvrir le Gestionnaire de noms boite de dialogue.

6. dans le Gestionnaire de noms boîte de dialogue, sélectionnez le Zone d'impression dans l' Nom, Prénom boîte, puis remplacez la formule d'origine par = Print_Area_Formule (le nom de la plage dynamique que vous avez créée ci-dessus) dans le Se réfère à , puis cliquez sur le bouton pour enregistrer la modification. Enfin fermez le Gestionnaire de noms boite de dialogue.

Maintenant, la zone d'impression dynamique est créée. Vous pouvez voir que la zone d'impression s'ajuste avec les données que vous avez ajoutées ou supprimées jusqu'à ce qu'elle atteigne la ligne et la colonne spécifiées. Voir la capture d'écran:

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (10)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Plain and simple, I've tried it a dozen times, made adjustments and still doesn't work. It won't take the formula. It keeps reverting, which means its reading the formula as an error. Don't get it. The name of my sheet is Contract Invoice. I don't see where you put that in the formula. I've tried replacine the COUNTA with the name of the sheet, tried putting it before and after COUNTA, but still nothing. My email is obviously listed above. If anyone has any suggestions, I'll try them.
This comment was minimized by the moderator on the site
Hi John,
If you wanted a print area for all non-blank rows, you might have something like
=OFFSET('Contract Invoice'!$A$1:$S$1,0,0,MAX(IF('Contract Invoice'!$A$1:$A$1005<>"",ROW('Contract Invoice'!$A$1:$A$1005),0)))

or whatever you like. The sheet name in the formula shouldn't matter.

You'd then define this name (say =my_print_area) as above mentioned above and set the "scope" to the workbook.

Then define your Print_Area to link to this formula and set the Scope to "Contract Invoice".

Hope that helps.
This comment was minimized by the moderator on the site
This was the best solution to this problem I found, after hours of searching
Rated 5 out of 5
This comment was minimized by the moderator on the site
this is definitely super usefull. However, each time I close and reopen the file, the Print_Area name configuration is gone. So each time I have to go to Define Names, and say Print_Area = Print_Area_Formula. Someone else with the same issue?? Thx!
This comment was minimized by the moderator on the site
Yeah, this is the only problem, but it only seems to happen when you open the Page Layout settings. Otherwise, it seems to be fine.
This comment was minimized by the moderator on the site
Ca ne fonctionne pas. A chaque fois qu'on faire le gestionnaire de noms et qu'on rentre dedans, il a remplacé la formule par la zone area de départ
This comment was minimized by the moderator on the site
Hi, just one thing, is your formula dynamic?. Would this be better =OFFSET($A$1,0,0,COUNTA($A:$A),COUNTA($1:$1))?

Then when the pivot changes or cells or columns are added the formula does not need to change.
This comment was minimized by the moderator on the site
First of all, thanks a lot!


Secondly: you don't need to define two "names" in the Mame Manager. As a simpler alternative, just select some random cells and set the print area (on those random cells), then open the Name Manager: it will have the print_area already in: here you can replace the content with the formula you want.
This comment was minimized by the moderator on the site
hi
thank you, it is great.

is there any way to have a conditional reference for the offset? I mean use the offset from the first cell in column A that contains a letter A, or equal to number 3 or filled by the color yellow.

I tried the following formula but it doesn't work.

offset(indirect(CELL("address",INDEX(A:A,MATCH("A",A:A,0)))),0,1,COUNTA(Sheet1!$b+Sheet1!$b:$b),7)

thanks

Mike
This comment was minimized by the moderator on the site
Hello,Its useful &exciting.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations