Accéder au contenu principal

Comment enregistrer une feuille de calcul au format PDF et l'envoyer en pièce jointe via Outlook ?

Author: Siluvia Last Modified: 2025-08-06

Dans le cadre du travail quotidien, vous pouvez souvent rencontrer des situations où vous devez partager une feuille de calcul spécifique avec des collègues ou des clients, tout en souhaitant garantir que le format du fichier reste fixe et sécurisé. Envoyer une feuille de calcul sous forme de fichier PDF via Outlook est une exigence courante, notamment pour documenter des rapports, envoyer des factures ou partager des données finalisées qui ne doivent pas être facilement modifiables. Traditionnellement, cela implique d'enregistrer manuellement la feuille de calcul au format PDF, d'ouvrir Outlook, de rédiger un e-mail, d'attacher le PDF, puis de l'envoyer – une tâche fastidieuse et chronophage, surtout si elle est répétée fréquemment ou lorsqu'il s'agit de gérer plusieurs feuilles.

Cet article vous guide étape par étape sur la façon d'automatiser le processus de conversion d'une feuille de calcul en PDF et de l'attacher immédiatement à un e-mail Outlook directement depuis Excel, vous permettant ainsi de gagner un temps précieux et d'éviter des tâches manuelles répétitives. Vous découvrirez une solution basée sur un code VBA, accompagnée de détails sur son fonctionnement, ses avantages, les scénarios d'application et des conseils pratiques.

Enregistrer une feuille de calcul au format PDF et l'envoyer en pièce jointe avec un code VBA


Enregistrer une feuille de calcul au format PDF et l'envoyer en pièce jointe avec un code VBA

Pour accélérer le processus d'exportation d'une feuille de calcul Excel au format PDF et de l'envoi par e-mail via Outlook, vous pouvez utiliser le code VBA suivant. Cette approche est particulièrement utile si vous devez régulièrement envoyer des rapports personnalisés, des factures ou d'autres instantanés de données directement depuis Excel, car elle automatise complètement les étapes d'enregistrement et d'envoi par e-mail.

Avant d'appliquer cette méthode, assurez-vous que Microsoft Outlook est installé et configuré comme votre client de messagerie par défaut. Le code fonctionne mieux lorsque les macros sont activées dans votre environnement Excel.

1. Ouvrez la feuille de calcul que vous souhaitez enregistrer et envoyer au format PDF. Appuyez simultanément sur Alt + F11 pour lancer l'éditeur Microsoft Visual Basic pour Applications (VBA).

2. Dans la fenêtre VBA, allez dans le menu et cliquez sur Insérer > Module. Cela créera un nouveau module de code. Ensuite, copiez et collez le code VBA suivant dans la fenêtre Code du module. 

Code VBA : Enregistrer une feuille de calcul au format PDF et l'envoyer en pièce jointe

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
   xFolder = xFileDlg.SelectedItems(1)
Else
   MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
   Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
    xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                      vbYesNo + vbQuestion, "File Exists")
    On Error Resume Next
    If xYesorNo = vbYes Then
        Kill xFolder
    Else
        MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
        Exit Sub
    End If
    If Err.Number <> 0 Then
        MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
        Exit Sub
    End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
    'Save as PDF file 
    xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
    
    'Create Outlook email 
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = ""
        .CC = ""
        .Subject = xSht.Name + ".pdf"
        .Attachments.Add xFolder
        If DisplayEmail = False Then
            '.Send
        End If
    End With
Else
  MsgBox "The active worksheet cannot be blank"
  Exit Sub
End If
End Sub

3. Après avoir collé le code, appuyez sur F5 ou cliquez sur Exécuter dans l'éditeur VBA pour exécuter la macro. Une boîte de dialogue de sélection de dossier apparaîtra. Choisissez le dossier cible où le fichier PDF doit être enregistré, puis cliquez sur OK pour continuer.

run vba code to select a folder to save this PDF file

Remarques et conseils pratiques :

1. La macro crée un fichier PDF portant le même nom que la feuille de calcul, stocké dans le dossier que vous avez sélectionné.
2. Si vous essayez d'exécuter le code lorsque la feuille active est vide, un message d'avertissement apparaîtra, comme illustré sur la capture d'écran ci-dessous. Cela empêche d'enregistrer et d'envoyer accidentellement un PDF vierge. Pour éviter cela, assurez-vous qu'il y a du contenu dans la feuille de calcul avant d'exécuter la macro.

If the active worksheet is blank,a warning prompt box is popped out

4. Une fois le processus terminé, une nouvelle fenêtre d'e-mail Outlook est générée, avec le fichier PDF attaché. L'objet est prérempli avec le nom de la feuille de calcul se terminant par ".pdf" ; vous pouvez modifier le contenu de l'e-mail, ajouter des destinataires, puis l'envoyer selon vos besoins. Cela réduit les erreurs et augmente l'efficacité par rapport à l'ajout manuel de pièces jointes.

a new Outlook email is created with the PDF file as an attachment

Remarque : La macro ne fonctionne que si Microsoft Outlook est installé et configuré comme client de messagerie par défaut. Si vous utilisez un autre programme de messagerie, cette solution peut ne pas s'appliquer.

Cette approche basée sur VBA est la plus efficace lorsque vous devez régulièrement distribuer des feuilles de calcul finalisées en tant que pièces jointes PDF, tout en minimisant les étapes manuelles répétitives. Ses limites incluent la dépendance à Outlook, l'incapacité à traiter plusieurs feuilles en une seule fois et la nécessité d'activer les macros. Pour des flux de travail plus complexes, comme l'envoi de plusieurs feuilles en une seule opération ou une automatisation supplémentaire, envisagez d'utiliser des modules complémentaires Excel ou des fonctionnalités intégrées.

Solution alternative : Si les macros VBA ne conviennent pas à votre environnement, par exemple lorsque les macros sont restreintes, vous pouvez manuellement utiliser la fonction Exporter ou Enregistrer sous d'Excel pour enregistrer votre feuille de calcul au format PDF, puis l'attacher et l'envoyer dans Outlook. Bien que nécessitant plus d'étapes, cette méthode est universellement disponible sans autorisations spéciales ni connaissance en script.


Enregistrez facilement une feuille de calcul ou plusieurs feuilles de calcul en tant que fichiers PDF séparés en une seule fois :

L'utilitaire Diviser le classeur de Kutools pour Excel peut vous aider à enregistrer facilement une feuille de calcul ou plusieurs feuilles de calcul en tant que fichiers PDF séparés en une seule fois, comme illustré dans la démonstration ci-dessous. Téléchargez et essayez-le maintenant ! (30-jour d'essai gratuit)

save multiple worksheets as separate PDF files by kutools


Articles connexes :

Meilleurs outils de productivité Office

🤖 Kutools AI Aide : Révolutionnez l'analyse de données grâce à : Exécution intelligente   |  Générer du code  |  Créer des Formules personnalisées  |  Analyser des données et générer des graphiques  |  Appeler les Fonctions améliorées
Fonctionnalités populaires : Trouver, mettre en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Combiner les colonnes ou cellules sans perdre de données   |  Arrondir...
Super RECHERCHEV : Recherche multi-critères    Recherche multi-valeurs  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante avec sélection multiple ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer des colonnes  |  Basculer l’état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités à la une : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & de feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Chiffrer/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 des ensembles d’outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   Plus de50 types de graphiques (Diagramme de Gantt, ...)   |   Plus de40 formules intelligentes (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils dinsertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et bien plus encore
Utilisez Kutools dans votre langue préférée: compatible avec l’anglais, l’espagnol, l’allemand, le français, le chinois et plus de40 autres langues !

Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...


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

  • Activez la modification 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, au lieu d’ouvrir de nouvelles fenêtres.
  • Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!