Comment convertir un fichier Excel en PDF Excel2pdf
Dans ce nouveau tutoriel nous allons voir comment convertir simplement un fichier Excel en PDF.
Téléchargement
Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :
Tutoriel Vidéo
Partie 1 : Créer des fichiers PDF avec Excel
Partie 2 : Transformer une feuille de calcul Excel en PDF avec VBA
Vous trouverez très régulièrement de nouvelles vidéos sur la chaîne, alors pensez à vous abonner pour ne manquer aucune astuce et devenir rapidement un pro d’Excel (cliquez-ici) !
1. Pourquoi convertir un fichier Excel en PDF ?
Pour bien comprendre l’intérêt de convertir un fichier Excel en fichier PDF, il faut au préalable comprendre à quoi correspond un fichier PDF.
Wikipédia défini le langage PDF comme « un langage de description de page présenté par la société Adobe Systems en 1992 et qui est devenu une norme ISO en 2008. ». L’encyclopédie en ligne ajoute également que : « La spécificité du PDF est de préserver la mise en page d’un document – polices de caractère, images, objets graphiques, etc. – telle qu'elle a été définie par son auteur, et cela quels que soient le logiciel, le système d'exploitation et l'ordinateur utilisés pour l’imprimer ou le visualiser. ».
En d’autres termes, un fichier PDF est en quelques sortes une image du fichier que nous souhaitons diffuser, c’est-à-dire que peu importe le support sur lequel ce fichier sera lu, celui-ci sera toujours présenté exactement de la même manière, y compris sur un poste qui ne disposerait pas d’une version d’Excel déjà installée ! Un fichier PDF peut ainsi être consulté sur de nombreux types de supports (Ordinateur, tablette, smartphone,…).
Pour cela, toutes les informations sont directement intégrées dans le fichier lui-même :
- Polices de caractères,
- Images,
- Objets,
- Tableaux,…
D’une manière générale un fichier PDF a vocation à être consulté, mais il est également possible d’inclure des zones de saisies qui vont permettre de rentrer des informations qui pourrons être enregistrées. Nous parlerons alors de formulaire PDF.
En outre un PDF peut permettre dans certains cas un gain de place sur le disque, les ressources principales étant compressés (textes, images,…).
2. Préparer le fichier PDF
Ok, maintenant que nous avons fait le tour du format PDF, voyons comment convertir une feuille de calcul sous ce format de fichier.
Tout d’abord, ce qu’il fait savoir c’est qu’un fichier PDF extrait d’une feuille de calcul Excel va correspondre par défaut à une édition de cette feuille.
Sachant cela, nous pouvons en déduire que le rendu final du PDF va dépendre directement de la mise en page des éditions définie dans le fichier Excel.
Commençons donc par nous rendre dans la fenêtre d’aperçu avant édition afin de voir à quoi va ressembler le futur PDF :
Aussi, directement depuis cette page, nous allons pouvoir simplement personnaliser le PDF :
- Orientation en mode Portrait ou Paysage,
- Taille de la page (utile si l’on envisage une édition future du fichier),
- Taille des marges,
- Mise à l’échelle,…
Commençons par exemple par définir une mise à l’échelle sur une seule feuille :
À moment-là, l’édition ne va s’effectuer que sur une seule page, mais les caractères deviennent alors minuscules, presque illisibles.
Voyez la partie située sur la droite du document sur laquelle aucune information n’est affichée. Nous pouvons supprimer cette partie en définissant une zone d’impression plus faible.
Pour cela, revenons sur la feuille de calcul en cliquant sur le bouton retour :
Puis nous cliquons sur le bouton Aperçu des sauts de page, ce qui nous permettra de définir avec précision les cellules à inclure dans l’impression de la feuille :
Nous pouvons ainsi exclure les colonnes G et H en faisant glisser le saut de page (bordure bleue) vers la gauche :
De retour dans l’aperçu avant impression de la feuille, nous pouvons constater que les polices sont déjà bien plus lisibles :
Si cela ne suffit pas, nous pouvons encore réduire les marges :
Et encore passer l’impression en mode paysage :
3. Convertir une feuille de calcul Excel en PDF
Maintenant que le fichier PDF est préparé, nous pouvons maintenant transformer notre document en un fichier PDF !
Pour cela, deux options s’offrent à nous, dont les effets seront strictement identiques :
- Enregistrer le fichier en tant que PDF (Fichier > Enregistrer sous > Choisir le format PDF) :
- Ou exporter la feuille sous la forme d’un PDF (Fichier > Exporter > Créer un document PDF/XPS > Créer PDF / XPS):
Dans les deux cas, cela aura pour effet de créer un nouveau fichier PDF, sans toucher au fichier d’origine.
Par défaut, comme nous l’avons vu au-dessus, le fichier va reprendre la zone d’impression de la feuille de calcul sélectionnée.
Pour sélectionner plusieurs feuilles de calculs, maintenez la touche [Ctrl] du clavier tout en cliquant sur les onglets.
Il est possible de personnaliser le PDF en cliquant sur le bouton Options présent sur la fenêtre de publication :
Les options ce personnalisations permettent :
- De choisir les pages à exporter (comme nous le ferions pour une édition normale), par défaut toutes les pages de la feuille sont imprimées,
- D’imprimer la ou les feuilles de calculs sélectionnées, uniquement les cellules sélectionnées ou le classeur en entier. Lorsqu’un tableau de données est présent sur la feuille sélectionnée, il est également possible de n’imprimer que celui-ci,
- Nous avons vu dans la première partie de ce tutoriel que seules les cellules de la zone d’impression seront exportées. Lorsque nous souhaitons au contraire exporter l’ensemble des cellules de la feuille de calcul, il convient alors de sélectionner l’option Ignorer les zones d’impression
- Ensuite, nous pouvons choisir d’inclure les propriétés du document (nom de l’auteur,…) dans le PDF et de conserver les balises de structure du document
- Enfin il possible de rendre le PDF compatible avec le format avancé PDF/A
4. Envoyer directement le PDF par mail
Enfin, sachez que lorsque nous souhaitons envoyer directement une feuille de calcul en PDF par mail, il est possible d’utiliser l’option de partage correspondante (Fichier > Partage > Courrier > Envoyer en tant que PDF) :
Cela permet de convertir le fichier et d’ouvrir le gestionnaire de mail en une seule et même étape :
5. Transformer une feuille en un clic en VBA
Découvrons maintenant comment créer un PDF encore plus rapidement en créant une macro-commande VBA toute simple.
Pour que ce tutoriel soit compréhensible pour tous, nous allons bien entendu détailler chaque point étudié de manière détaillé.
Mais si vous souhaitez aller plus loin dans la découverte de ce langage de programmation, je vous invite à suivre la formation « Apprendre le VBA » disponible sur le blog.
D’ailleurs pour que les choses soient encore plus simples, nous allons même demander à Excel de créer la macro-commande à notre place nous évitant ainsi la tâche de la création des lignes de code.
Mais en premier lieu, sachez que pour pouvoir saisir du code en VBA, il est nécessaire que le classeur soit enregistré sous le format *.xlsm qui permet de sauvegarder les macro-commandes en VBA.
Pour cela, rendez-vous dans le menu Fichier du ruban, puis sélectionnez Enregistrer Sous > Parcourir :
5.1. Créer un bouton pour créer le PDF en 1 clic
Avant même de créer la macro-commande, nous allons créer un bouton qui sera présent sur la feuille de calcul et qui permettra ensuite de créer le PDF en un seul clic.
Pour cela, nous commençons par créer un objet Zone de texte (menu Insertion > Zone de texte) :
Puis nous dessinons cet objet sur la feuille de calcul :
Ensuite, nous saisissons un texte au bouton et nous le mettons en forme (en utilisant simplement un style prédéfini : Menu Mise en forme, puis nous sélectionnons un style depuis le menu déroulant) :
Une fois ces opérations terminées, nous pouvons simplement effectuer un clic-droit sur le bouton, pour choisir l’option Affecter une macro.
Dans la fenêtre qui s’affiche à l’écran, nous pouvons commencer par donner un nom que nous souhaitons donner à la macro-commande, puis nous cliquons sur le bouton Enregistrer pour créer la macro automatiquement sans saisir de ligne de code.
À partir de maintenant, tout ce que nous allons faire sera interprété et transformé par Excel en ligne de code.
5.2. Créer la macro-commande automatiquement sans saisir de ligne de code
Comme nous venons de le voir, toutes nos actions seront maintenant traduites en lignes de codes.
Il ne va alors nous suffire de créer le PDF une première fois manuellement :
- Nous nous rendons dans le menu Fichier > Export > Créer PDF / XPS :
- Ensuite, nous sélectionnons le dossier d’enregistrement et nous donnons un nom à notre fichier PDF.
- Cela étant fait, il ne reste plus qu’à valider la création du fichier en cliquant sur le bouton Publier (nous pouvons éventuellement cocher l’option « Ouvrir le fichier après la publication » pour visualiser directement le résultat correspondant)
Une fois le fichier PDF correctement créé, nous pouvons arrêter l’enregistrement automatique de macro en cliquant sur le petit carré de fin d’enregistrement, tout en bas à gauche de la fenêtre d’Excel :
5.3. Personnalisation du code
Maintenant que la macro est terminée, nous pouvons aller la visionner afin de pouvoir la personnaliser.
Pour cela, nous allons devoir lancer Visual Basic Editor en suivant l’une des méthodes détaillées dans le chapitre « Activer VBA en affichant le menu DÉVELOPPEUR sur EXCEL ».
Ici, nous allons simplement utiliser le raccourci clavier [Alt] + [F11].
Une fois VBE ouvert, nous allons retrouver notre macro commande en utilisant l’explorateur de projet situé à gauche :
Nous y retrouvons un dossier « Modules » dans lequel se trouve un fichier « Module1 ».
Il suffit de double-cliquer sur celui-ci pour visionner la macro-commande :
Celle-ci est très simple et n’est composée que d’une seule instruction !
Cette instruction consiste tout simplement à appeler la procédure ExportAsFixedFormat de l’objet ActiveSheet.
C’est justement cette procédure qui permet de générer le fichier PDF de la feuille de calcul active.
Celle-ci est constituée d’un certain nombre d’arguments que nous allons détailler :
- Type : permet de spécifier quel type de fichier nous souhaitons générer (soit un PDF classique : xlTypePDF, soit un fichier XPS : xlTypeXPS),
- Filename : il s’agit du chemin d’accès complet au fichier que nous souhaitons créer, saisi sous la forme d’une chaîne de caractères, nous y reviendrons juste après !
- Quality : défini le niveau de qualité que nous souhaitons appliquer sur le fichier : soit la qualité standard : xlQualityStandard, soit la qualité minimale : xlQualityMinimum. Lorsqu’une qualité optimale n’est pas nécessaire, cette seconde présente l’avantage d’occuper moins de place sur le disque,
- IncludeDocProperties : permet d’insérer les propriétés du fichier Excel en tant que propriété du fichier PDF,
- IgnorePrintAreas : Permet de ne pas tenir compte des zones d’impressions définies sur la feuille de calcul, et donc d’insérer tout le contenu de celle-ci sur le PDF. Nous préférerons laisser la valeur par défaut (False) afin d’obtenir un fichier PDF identique au fichier imprimé
- OpenAfterPublish : permet de spécifier si nous souhaitons ouvrir le fichier PDF une fois celui-ci créé. L’effet est le même que lorsque nous cochons la case correspondante dans le menu d’exportation.
Nous allons conserver tous les paramètres par défaut de chacun de ces arguments, à l’exception de Filename.
Nous allons en effet souhaiter que le nom du fichier soit inséré renseigner directement par l’utilisateur dans une cellule de la feuille de calcul.
Nous allons donc créer deux variables dans la macro :
- Une variable monDossier dans laquelle nous allons stocker le chemin d’accès du fichier PDF (attention, ce dossier doit exister sur le poste de travail sous peine de générer une erreur VBA),
- Une variable monFicher dans laquelle nous allons stocker le nom du fichier PDF (qui devra terminer par l’extension *.pdf)
Ces deux variables sont bien entendu typées en tant que String, soient des chaînes de caractères.
Dim monDossier As String, monFichier As String
monDossier = ActiveWorkbook.Path & "\"
monFichier = "Excel2PDF.pdf"
Nous souhaitons donc créer un fichier nommé Excel2PDF.pdf, directement dans le dossier dans lequel se trouve le fichier Excel (nous en obtenant le chemin d’accès avec la propriété Path de l’objet ActiveWorkbook).
Ne reste plus qu’à modifier l’argument Filename pour reprendre les valeurs de ces variables, en les concaténant l’une à la suite de l’autre avec l’esperluette :
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=monDossier & monFichier _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Pour tester la macro, il suffit de revenir sur la feuille de calcul et de cliquer sur le bouton que nous venons de créer :
Notre nouveau fichier est maintenant créé :
Et voilà !
Pour que l’utilisateur puisse modifier simplement le nom du fichier, il ne reste plus qu’à modifier la variable monFichier pour pointer sur une cellule de la feuille de calcul :
monFichier = [e5]
Nous pouvons maintenant tester à nouveau la macro, après avoir renseigné un nom dans la cellule E5 :
Nous retrouvons effectivement le nouveau fichier :