Table des matières
Dans cet article, je vais vous montrer comment vous pouvez imprimer n'importe quel document au format PDF en utilisant VBA dans Excel. Nous utiliserons l'option ExportAsFixedForma t méthode de VBA Je vais discuter de tous les paramètres de cette méthode avec des exemples et des illustrations appropriés.
Imprimer au format PDF dans Excel VBA (vue rapide)
Télécharger le cahier d'exercices
Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.
VBA Imprimer en PDF.xlsmIntroduction à l'instruction ExportAsFixedFormat
⧭ Vue d'ensemble :
Le site ExportAsFixedForma t méthode de VBA sauvegarde un document donné au format PDF avec un nom donné avec VBA Il s'agit d'une méthode très utile pour ceux qui travaillent avec un grand nombre de feuilles de calcul Excel et les stockent pour une utilisation ultérieure.
⧭ Syntaxe :
La syntaxe du VBA ExportAsFixedFormat la méthode est :
Document.ExportAsFixedFormat Type, Nom de fichier, Qualité, IncludeDocProperties, IgnorePrintAreas, De, À, OpenAfterPublish
⧭ Paramètres :
Paramètre | Obligatoire / Facultatif | Explication |
---|---|---|
Type | Requis | Indique le type de fichier que vous souhaitez enregistrer. Utilisez xlTypePDF pour les fichiers PDF ou xlTypeXPS pour les fichiers XPS. |
Nom de fichier | En option | Saisissez le chemin d'accès complet du fichier si vous souhaitez enregistrer le fichier dans un chemin différent de celui du classeur. |
Qualité | En option | Indique la qualité du fichier à enregistrer. Utilisez xlQualityStandard pour la qualité standard ou xlQualityMinimum pour la qualité minimale. |
IncludeDocProperties | En option | Définissez-le comme Vrai pour inclure les propriétés du document, ou définissez-le comme Faux pour ne pas inclure les propriétés du document. |
IgnorePrintAreas | En option | Définissez True pour ignorer les zones d'impression, ou False pour ne pas ignorer les zones d'impression. |
De | En option | Le numéro de la page de départ à partir de laquelle votre document commencera à être enregistré. |
A | En option | Définissez-le comme Vrai pour inclure les propriétés du document, ou définissez-le comme Faux pour ne pas inclure les propriétés du document. |
OpenAfterPublish | En option | Définissez-le comme Vrai pour ouvrir le document après la publication ou Définissez-le comme Faux. |
⧭ Valeur de retour :
Il convertit les feuilles de calcul d'un classeur Excel en un document PDF et l'enregistre dans le dossier spécifié avec le nom indiqué.
5 exemples d'impression au format PDF en Excel VBA avec l'instruction ExportAsFixedFormat
Voyons quelques exemples de la façon d'imprimer un document au format PDF dans Excel. VBA avec le ExportAsFixedFormat méthode.
Exemple 1 : Impression au format PDF dans Excel VBA sans nom ni chemin d'accès spécifié
Nous avons ici une feuille de calcul avec les registres de livres d'une librairie appelée Marin Bookstore.
Écrivons un simple VBA pour convertir la feuille de calcul en un document PDF, sans spécifier de nom ou de chemin.
⧭ Code VBA :
Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF End Sub
⧭ Sortie :
Exécutez ce code, et vous trouverez un fichier PDF portant le même nom que votre classeur (nom par défaut lorsqu'aucun nom n'est spécifié) dans le même dossier que votre classeur (dossier par défaut lorsqu'aucun chemin n'est spécifié).
Ici, il est nommé comme Book1.pdf car le nom de mon classeur était Livre 1 .
Lire la suite : Excel VBA : comment définir dynamiquement la zone d'impression (7 façons)
Exemple 2 : Impression au format PDF en Excel VBA avec nom et chemin d'accès spécifiés
Maintenant, nous allons convertir le même classeur en un autre fichier PDF en spécifiant le nom et le chemin.
Je vais enregistrer le PDF avec le nom "Librairie Martin.pdf" dans le chemin C:\Users\Public\ExcelWIKI sur mon ordinateur. Donc le VBA Le code sera :
⧭ Code VBA :
Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Sub
⧭ Sortie :
Ce code va enregistrer le document PDF dans le chemin d'accès C:\Users\Public\ExcelWIKI sur mon ordinateur avec le nom Librairie Martin.pdf .
Lire la suite : Comment imprimer la zone sélectionnée dans Excel (2 exemples)
Lectures similaires :
- Comment imprimer des titres dans Excel (5 façons simples)
- Imprimer une feuille de calcul avec des commentaires dans Excel (5 méthodes simples)
- Comment imprimer les cellules sélectionnées dans Excel (2 méthodes simples)
- Centrer la zone d'impression dans Excel (4 façons)
- Comment afficher l'aperçu avant impression avec Excel VBA (3 macros)
Exemple 3 : Impression au format PDF en Excel VBA avec ouverture du fichier après publication
Maintenant, nous allons imprimer le document au format PDF de manière à ce que le fichier soit ouvert après avoir été publié. Nous devons définir le champ OpenAfterPublish pour Véritable .
Ainsi, le VBA Le code sera,
⧭ Code VBA :
Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf", _ OpenAfterPublish:=True End Sub
⧭ Sortie :
Ce code va enregistrer le document PDF dans le chemin d'accès C:\Users\Public\ExcelWIKI sur mon ordinateur avec le nom Librairie Martin.pdf et ouvrir le fichier dès qu'il est publié.
Contenu connexe : Comment définir l'aperçu avant impression dans Excel (6 options)
Exemple 4 : imprimer plusieurs feuilles de calcul dans plusieurs fichiers PDF en Excel VBA
Jusqu'à présent, nous avons imprimé une seule feuille de calcul, mais cette fois-ci, nous allons imprimer plusieurs feuilles de calcul dans plusieurs fichiers PDF.
Ici, nous avons un classeur avec 5 des feuilles de calcul, chacune contenant le registre des livres d'une librairie particulière.
Cette fois, nous allons convertir toutes les feuilles de travail en fichiers PDF.
Le site VBA Le code sera :
⧭ Code VBA :
Sub Print_Multiple_Sheets_To_PDF() Sheet_Names = InputBox("Enter the Names of the Worksheets to Print to PDF : ") Sheet_Names = Split(Sheet_Names, ", ") For i = LBound(Sheet_Names) To UBound(Sheet_Names) Worksheets(Sheet_Names(i)).ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\" + Sheet_Names(i) + ".pdf" Next i EndSous
⧭ Sortie :
Exécutez le code. Une boîte de saisie vous demandera d'entrer les noms des feuilles de calcul à convertir en PDF. Ici, j'ai entré Librairie Joseph, Librairie Morgan, Librairie Angela .
Cliquez sur OK Et il les sauvegardera sous forme de fichiers PDF dans le dossier C:\Users\Public\ExcelWIKI .
Lire la suite : Comment imprimer plusieurs feuilles dans Excel (7 méthodes différentes)
Exemple 5 : développement d'une fonction définie par l'utilisateur pour imprimer un fichier PDF dans Excel VBA
Enfin, je vous montrerai comment développer une fonction définie par l'utilisateur pour imprimer n'importe quelle feuille de calcul au format PDF avec Excel. VBA .
Développons une fonction appelée PrintToPDF qui imprimera la feuille de calcul active dans un fichier PDF.
Le site VBA Le code sera :
⧭ Code VBA :
Function PrintToPDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:= "C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Function
⧭ Sortie :
Saisissez cette fonction dans n'importe quelle cellule de votre feuille de calcul.
=PrintToPDF()
Cliquez ensuite sur ENTER Il convertira la feuille active ( Librairie Martin ici) vers un fichier PDF dans le dossier spécifié.
Lire la suite : Excel VBA : imprimer le formulaire utilisateur pour qu'il tienne sur une page (2 méthodes)
Les choses à retenir
Lors du développement des codes, nous avons utilisé la plupart du temps la fonction Feuille active objet de VBA Il renvoie la feuille de calcul qui est active à ce moment-là dans le classeur actif.
Nous avons aussi parfois utilisé la propriété ActiveSheet.Name Il renvoie le nom de la feuille de calcul active.
Conclusion
Voici donc la façon d'imprimer n'importe quelle feuille de calcul en PDF avec VBA dans Excel. Vous avez des questions ? N'hésitez pas à nous les poser. Et n'oubliez pas de visiter notre site ExcelWIKI pour plus d'articles et de mises à jour.