KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment imprimer automatiquement les pièces jointes dès la réception des e-mails dans Outlook ?

AuteurSiluvia Date de modification

Ce tutoriel vous explique comment associer un script VBA à une règle Outlook pour imprimer automatiquement les pièces jointes de certains e-mails dès leur réception.


Imprimer automatiquement les pièces jointes dès la réception de certains e-mails

Imaginez que vous souhaitiez imprimer automatiquement les pièces jointes des e-mails entrants provenant d’un expéditeur spécifique. Voici la marche à suivre pour y parvenir.

Étape 1 : Créer un script dans Outlook

Commencez par créer un script VBA dans Outlook.

1. Ouvrez Outlook, puis appuyez simultanément sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Dans la fenêtre Microsoft Visual Basic pour Applications, double-cliquez sur Projet1 > Objets Microsoft Outlook > ThisOutlookSession pour ouvrir la fenêtre ThisOutlookSession (Code), puis copiez le code suivant dans cette fenêtre.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

Code VBA 1 : Imprimer automatiquement les pièces jointes (tous les types de pièces jointes) dès la réception des e-mails

Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20230223
  Dim xFS As FileSystemObject
  Dim xTempFolder As String
  Dim xAtt As Attachment
  Dim xShell As Object
  Dim xFolder As Object, xFolderItem As Object
  Dim xFileName As String
  On Error GoTo xError
  If Item.Attachments.Count = 0 Then Exit Sub
  Set xFS = New FileSystemObject
  xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
  xTempFolder = xTempFolder & "\ATMP" & Format(Item.ReceivedTime, "yyyymmddhhmmss")
  If Not xFS.FolderExists(xTempFolder) Then
    MkDir (xTempFolder)
  End If
  Set xShell = CreateObject("Shell.Application")
  Set xFolder = xShell.NameSpace(0)
  For Each xAtt In Item.Attachments
    If IsEmbeddedAttachment(xAtt) = False Then
      xFileName = xTempFolder & "\" & xAtt.FileName
      xAtt.SaveAsFile (xFileName)
      Set xFolderItem = xFolder.ParseName(xFileName)
      xFolderItem.InvokeVerbEx ("print")
    End If
  Next xAtt
  Set xFS = Nothing
  Set xFolder = Nothing
  Set xFolderItem = Nothing
  Set xShell = Nothing
xError:
  If Err <> 0 Then
    MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
    Err.Clear
  End If
Exit Sub
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

Remarque : Ce code permet d’imprimer tous les types de pièces jointes reçues dans les e-mails. Si vous souhaitez imprimer uniquement un type spécifique de pièce jointe, comme les fichiers PDF, utilisez le code VBA suivant.

Code VBA 2 : Imprimer automatiquement un type spécifique de pièces jointes dès la réception des e-mails

Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20230223
  Dim xFS As FileSystemObject
  Dim xTempFolder As String
  Dim xAtt As Attachment
  Dim xShell As Object
  Dim xFolder As Object, xFolderItem As Object
  Dim xFileType As String, xFileName As String
  On Error GoTo xError
  If Item.Attachments.Count = 0 Then Exit Sub
  Set xFS = New FileSystemObject
  xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
  xTempFolder = xTempFolder & "\ATMP" & Format(Item.ReceivedTime, "yyyymmddhhmmss")
  If Not xFS.FolderExists(xTempFolder) Then
    MkDir (xTempFolder)
  End If
  Set xShell = CreateObject("Shell.Application")
  Set xFolder = xShell.NameSpace(0)
  For Each xAtt In Item.Attachments
    If IsEmbeddedAttachment(xAtt) = False Then
      xFileName = xAtt.FileName
      xFileType = LCase$(Right$(xFileName, VBA.Len(xFileName) - VBA.InStrRev(xFileName, ".")))
      xFileName = xTempFolder & "\" & xFileName
      Select Case xFileType
        Case "pdf"   'change "pdf" to the file extension you want to print
          xAtt.SaveAsFile (xFileName)
          Set xFolderItem = xFolder.ParseName(xFileName)
          xFolderItem.InvokeVerbEx ("print")
      End Select
    End If
  Next xAtt
  Set xFS = Nothing
  Set xFolder = Nothing
  Set xFolderItem = Nothing
  Set xShell = Nothing
xError:
  If Err <> 0 Then
    MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
    Err.Clear
  End If
  Exit Sub
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

Remarques:

1. Avant d’appliquer ce code VBA pour imprimer uniquement les fichiers Fichiers PDF présents dans les e-mails entrants, vous devez d’abord télécharger et installer Adobe Acrobat Readeret le définir comme lecteur PDF par défaut sur votre ordinateur.
2. À la ligne Case «pdf», remplacez «pdf»par l’extension du fichier que vous souhaitez imprimer.

3. Cliquez ensuite sur Outils > Références. Dans la boîte de dialogue Références – Projet1 qui s’ouvre, cochez la case Microsoft Scripting Runtime, puis cliquez sur le bouton OK.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

4. Enregistrez le code, puis appuyez sur les touches Alt + Q pour fermer la fenêtre Microsoft Visual Basic pour Applications.

Remarque : Assurez-vous que l’option Activer toutes les macros est activée dans votre Outlook. Vous pouvez vérifier cette option en suivant les étapes ci-dessous.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook
Étape 2 : Créer une règle pour utiliser le script

Après avoir ajouté le script VBA dans Outlook, créez une règle pour l’appliquer selon vos conditions spécifiques.

1. Accédez à l’onglet Accueil, puis cliquez sur Règles > Gérer les règles et les alertes.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

2. Dans la boîte de dialogue Règles et alertes, cliquez sur le bouton Nouvelle règle pour créer une règle.

Conseils : Si vous avez ajouté plusieurs comptes e-mail à votre Outlook, veuillez spécifier un compte dans la liste déroulante du champ Appliquer les modifications à ce dossier, là où vous souhaitez appliquer la règle. Sinon, celle-ci s’appliquera à la boîte de réception du compte actuellement sélectionné.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

3. Dans la première boîte de dialogue Assistant de règle, sélectionnez Appliquer la règle aux messages que je reçois dans la zone Étape 1, puis cliquez sur Suivant.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

4. Dans la deuxième boîte de dialogue Assistant de règle, vous devez :

4,1) Spécifiez une ou plusieurs conditions dans la zone Étape 1selon vos besoins ;
Dans ce cas, je souhaite imprimer uniquement les pièces jointes des e-mails entrants provenant d’un expéditeur donné. J’ai donc coché la case provenant de personnes ou d’un groupe public.
4,2) Cliquez sur la valeur soulignée dans la zone Étape 2pour modifier la condition ;
4,3) Cliquez sur Suivant.Voir capture d’écran :
étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

5. Dans la troisième boîte de dialogue Assistant de règle, procédez comme suit.

5,1) Dans la section Étape 1 : Sélectionner une ou plusieurs actions, cochez la case exécuter un script;
5,2) Dans la section Étape 2, cliquez sur le texte souligné « un script » ;
5,3) Dans la boîte de dialogue Sélectionner un scriptqui s’ouvre, cliquez sur le nom du code VBA que vous avez ajouté ci-dessus, puis cliquez sur OK ;
5,4) Cliquez sur le bouton Suivant. Voir la capture d’écran :
étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

Conseil : Si l’option « Exécuter un script » ne figure pas dans votre Assistant de règle, vous pouvez la faire réapparaître en suivant la méthode décrite dans cet article : restaurer l’option manquante Exécuter un script dans une règle Outlook.

6. Une autre boîte de dialogue Assistant de règle s’ouvre alors pour demander des exceptions. Vous pouvez sélectionner des exceptions si nécessaire ; sinon, cliquez sur le bouton Suivant sans effectuer de sélection.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

7. Dans la dernière boîte de dialogue Assistant de règle, attribuez un nom à la règle, puis cliquez sur le bouton Terminer.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

8. La boîte de dialogue Règles et alertes réapparaît alors. Vous pouvez voir la règle que vous avez créée dans la liste. Cliquez sur le bouton OK pour terminer toute la configuration.

étapes de l'impression automatique des pièces jointes à la réception des e-mails dans Outlook

Désormais, dès réception d’un e-mail provenant de la personne spécifiée, la ou les pièces jointes seront automatiquement imprimées.


Articles associés

Imprimer uniquement la ou les pièces jointes d’un seul e-mail ou de plusieurs e-mails sélectionnés dans Outlook
Dans Outlook, vous pouvez imprimer des e-mails, mais avez-vous déjà imprimé uniquement les pièces jointes d’un seul message ou de plusieurs messages sélectionnés ? Cet article vous dévoile des astuces pratiques pour accomplir cette tâche facilement.

Imprimer uniquement l’en-tête d’un message électronique dans Outlook
Lorsque vous imprimez un e-mail dans Outlook, l’en-tête et le corps du message sont imprimés ensemble. Mais dans certaines situations, vous pourriez avoir besoin d’imprimer uniquement l’en-tête — avec l’objet, l’expéditeur, les destinataires, etc. Cet article vous propose deux méthodes simples pour y parvenir.

Imprimer un calendrier sur une plage de dates personnalisée dans Outlook
Généralement, lorsque vous imprimez un calendrier en mode Mensuel dans Outlook, le mois contenant la date actuellement sélectionnée est automatiquement choisi. Toutefois, vous pourriez avoir besoin d’imprimer votre calendrier sur une période personnalisée — par exemple, trois mois, un semestre ou toute autre plage de dates. Cet article vous propose une solution simple et efficace pour y parvenir.

Imprimer un contact avec sa photo dans Outlook
Par défaut, la photo d’un contact n’est pas incluse lors de son impression dans Outlook. Pourtant, il peut parfois s’avérer utile — voire indispensable — d’imprimer un contact accompagné de sa photo. Découvrez dans cet article quelques solutions alternatives pour y parvenir facilement.

Imprimer une sélection d’un e-mail dans Outlook
Vous recevez un message électronique et vous avez besoin d’imprimer uniquement une partie précise du contenu, sans imprimer tout le message ? En réalité, Outlook permet d’effectuer cette opération à l’aide de navigateurs Internet tels que Firefox ou Internet Explorer. Je vais prendre ces navigateurs comme exemple. Consultez les tutoriels suivants.

Plus d’articles sur « l’impression dans Outlook »...


Meilleurs outils de productivité Office

Découvrez la toute nouvelle Kutools pour Outlook avec 100+ fonctionnalités incroyables !Cliquez pour télécharger dès maintenant !

🤖Kutools IA:Utilise une technologie d’intelligence artificielle avancée pour gérer vos e-mails sans effort, notamment en répondant, résumant, optimisant, développant, traduisant et rédigeant des messages.

📧Automatisation des e-mails : Réponse automatique (disponible pour POP et IMAP) / Planification de l’envoi d’e-mails / CC/BCC automatique selon des règles lors de l’envoi d’e-mails / Transfert automatique (règle avancée) / Ajout automatique de formules de politesse / Division automatique des e-mails à plusieurs destinataires en messages individuels...

📨Gestion des e-mails : Rappeler un e-mail / Bloquer les e-mails frauduleux par objet et autres critères / Supprimer les e-mails en double / Recherche avancée / Organiser vos dossiers

📁Pièces jointes Pro : Enregistrer en lot / Détacher en lot / Compresser en lot / Enregistrement automatique / Détachement automatique / Compression automatique

🌟Magie de l’interface : 😊 Encore plus d’emojis jolis et stylés / Vous prévient à l’arrivée d’e-mails importants / Réduire Outlook au lieu de le fermer...

👍Merveilles en un clic : Répondre à tous avec pièces jointes / E-mails anti-hameçonnage / 🕘 Afficher le fuseau horaire – Heure actuelle de l’expéditeur

👩🏼‍🤝‍👩🏻Contacts et calendrier : Créer en lot : ajouter un contact à partir des e-mails sélectionnés / Diviser un groupe de contacts en groupes individuels / Supprimer le rappel d’anniversaire

Utilisez Kutools dans votre langue préférée – compatible avec l’anglais, l’espagnol, l’allemand, le français, le chinois et plus de 40 autres langues !

Débloquez Kutools pour Outlook instantanément en un seul clic ! Ne perdez plus une seconde : téléchargez dès maintenant et boostez votre efficacité !

kutools for outlook features1kutools for outlook features2

🚀 Téléchargement en un clic — Obtenez tous les compléments Office

Fortement recommandé : Kutools for Office (5-en-1)

Un seul clic pour télécharger cinq programmes d’installationen une fois —Kutools pour Excel, Outlook, Word, PowerPointet Office Tab Pro.Cliquez pour télécharger dès maintenant !

  • Commodité en un clic : téléchargez les cinq packs d’installation en une seule action.
  • 🚀Prêt à relever toutes vos tâches Office : installez les compléments dont vous avez besoin, exactement quand vous en avez besoin.
  • 🧰Inclus: Kutools pour Excel / Kutools pour Outlook / Kutools pour Word / Office Tab Pro / Kutools for PowerPoint