Impression VBA

L'impression en VBA est très similaire à l'impression dans Excel, lorsque nous avons des données importantes dans Excel ou des feuilles de calcul, la seule façon de les sécuriser est de les enregistrer au format PDF ou de les imprimer, pour imprimer, nous devons configurer la commande d'impression dans VBA avant de l'utiliser, ce que fait cette commande si elle imprime ou écrit les données dans un autre fichier.

Qu'est-ce que l'impression dans VBA Excel?

L'impression VBA n'est rien d'autre que comme d'habitude, comment nous imprimons dans la feuille de calcul régulière, il n'y a aucune différence à cela. En utilisant le code Excel VBA, nous pouvons imprimer toutes les données de la feuille de calcul, nous pouvons imprimer le classeur, les graphiques, la plage spécifiée, etc.

Après tout le travail acharné que nous avons fait pour présenter le rapport au responsable, nous envoyons généralement des courriels. Mais dans certains cas, lors de la réunion, votre responsable a besoin d'une copie papier de vos rapports, dans ces scénarios, vous devez imprimer le rapport que vous avez dans la feuille de calcul. L'une des raisons pour lesquelles votre responsable a besoin d'une impression du rapport peut être qu'il s'agit d'un rapport très volumineux à lire sur l'ordinateur. Dans une feuille de calcul, vous devez déjà vous familiariser avec l'impression des rapports. Dans cet article, nous allons vous montrer comment imprimer à l'aide du codage VBA. Suivez cet article pendant les 15 prochaines minutes pour apprendre à imprimer des rapports dans VBA.

Syntaxe de VBA PrintOut dans VBA Excel

Avant de voir la syntaxe, permettez-moi de clarifier cela en premier. Qu'est-ce que nous imprimons, nous imprimons des plages, des graphiques, des feuilles de calcul, des classeurs. La méthode PrintOut () est donc disponible avec tous ces objectifs.

[De]: à partir de quelle page de l'impression doit commencer. Si nous ne fournissons aucune valeur, il sera traité à partir de la première page.

[À]: Quelle devrait être la dernière page à imprimer? S'il est ignoré, il s'imprimera jusqu'à la dernière page.

[Copies]: combien de copies vous devez imprimer.

[Aperçu]: Souhaitez-vous voir l'aperçu avant de procéder à l'impression. Si oui TRUE est l'argument, sinon FALSE est l'argument.

Exemples d'impression dans VBA Excel

Voici les exemples d'impression dans VBA Excel.

Vous pouvez télécharger ce modèle Excel d'impression VBA ici - Modèle Excel d'impression VBA

À des fins d'illustration, j'ai créé des données factices comme indiqué dans l'image ci-dessous.

Nous devons maintenant imprimer le rapport de A1 à D14, c'est ma plage. Entrez la plage en code VBA pour accéder à la méthode PrintOut.

Code:

 Sub Print_Example1 () Range ("A1: D14") End Sub 

Accédez maintenant à la méthode PrintOut.

Code:

 Sub Print_Example1 () Range ("A1: D14"). PrintOut End Sub 

Je ne touche à aucun des paramètres, cela suffit pour imprimer la plage sélectionnée. Si j'exécute ce code, il imprimera la plage de A1 à D14.

Paramètres de la méthode d'impression dans VBA Excel

Maintenant, j'ai copié et collé les mêmes données pour utiliser d'autres paramètres de la méthode PrintOut dans VBA Excel.

Lorsque nous voulons imprimer la feuille entière, nous pouvons faire référence à la feuille entière en tant que feuille active, cela couvrira toute la feuille.

  • Code pour imprimer la feuille de calcul entière.

Code:

Sub Print_Example1 () ActiveSheet.UsedRange.PrintOut 'Ceci imprimera toute la plage de feuilles utilisée. End Sub

  • Code pour faire référence au nom de la feuille .

Code:

 Sub Print_Example1 () Sheets ("Ex 1"). UsedRange.PrintOut 'Ceci imprimera également toute la plage utilisée de la feuille appelée Ex 1. End Sub 

  • Code pour imprimer toutes les feuilles de calcul du classeur .

Code:

Sub Print_Example1 () Worksheets.UsedRange.PrintOut 'Cela imprimera également toute la plage utilisée de toute la feuille du classeur. End Sub

  • Code pour imprimer toutes les données du classeur .

Code:

Sub Print_Example1 () ThisWorkbook.UsedRange.PrintOut 'Cela imprimera également toute la plage utilisée de toute la feuille du classeur. End Sub

  • Code pour imprimer uniquement la zone sélectionnée .

Code:

 Sub Print_Example1 () Selection.PrintOut 'Ceci n'imprimera que la plage sélectionnée End Sub 

Comment utiliser les paramètres de la méthode d'impression dans Excel VBA?

Nous allons maintenant voir comment utiliser les paramètres de la méthode d'impression. Comme je l'ai dit, j'ai élargi les données pour utiliser d'autres propriétés.

Bien sûr, cela ne sera pas imprimé sur une seule feuille. Sélectionnez la plage de A1 à S29.

Code:

 Sub Print_Example2 () Range ("A1: S29") End Sub 

Sélectionnez maintenant la méthode d'impression.

Code:

 Sub Print_Example2 () Range ("A1: S29"). PrintOut End Sub 

Les premier et deuxième paramètres sont From & To, quelle est la position des pages de début et de fin. Par défaut, il imprimera toutes les pages, donc je ne touche pas à cette partie. Maintenant, je veux voir l'aperçu avant impression, donc je vais choisir Aperçu comme TRUE.

Code:

 Sub Print_Example2 () Range ("A1: S29"). PrintOut Preview: = True End Sub 

Maintenant, je vais exécuter ce code, nous verrons l'aperçu avant impression.

Cela vient en 2 pages.

So first I want to set up the page to come in a single sheet. Use the below code to set up the page to come in one sheet.

Code:

 Sub Print_Example2() With Worksheets("Example 1").PageSetup .Zoom = False .FitToPagesTall = 2 .FitToPagesWide = 1 .Orientation = xlLandscape End With ActiveSheet.PrintOut Preview:= True End Sub 

This will set up the page to print in one sheet as well to print in landscape mode. Now the print preview will be like this.

Like this, we can use VBA print out a method to print the things we wanted to print and play around with them.