Publiposter avec des pièces jointes identiques
Publiposter ses courriers électroniques, c'est-à-dire les envoyer à une liste de destinataires d'un seul clic, c'est très pratique. Mais il arrive souvent que l'on veuille ajouter un document à ce courrier électronique.
Par exemple, vous organisez un évènement et vous devez envoyer le menu sous forme de PDF à l'ensemble des invités. Avec du publipostage simple, il est très simple d'envoyer le courrier à l'ensemble des convives. Mais ajouter le PDF automatiquement pour ne pas envoyer chaque courrier individuellement, c'est une tout autre histoire et c'est ce que nous allons voir maintenant.
Objectif
L'idée de ce tutoriel est de t'apprendre à envoyer des courriers électroniques contenant une ou plusieurs pièces jointes via le système de publipostage de Word.
Pour cela, voici le workflow
- Ajout des pièces jointes dans le courrier électronique via Outlook
- Écriture du courrier via Word et Excel
- Envoie du courrier
C'est aussi simple que cela.
Prérequis
- Maitriser le publipostage simple
- Outlook, version bureau pour envoyer les courriers
- Word, version bureau pour réaliser le publipostage
- Excel, version bureau pour gérer la liste des destinataires
Mise en place
Pour mener à bien notre objectif, nous allons utiliser une macro nous permettant d'ajouter nos pièces jointes à chacun de nos courriers juste avant que chacun d'eux parte.
Pour cela, il faut commencer par activer le mode développeur dans Outlook. Pour faire cela Fichier > Options > Personnaliser le ruban
et activer le mode développeur, petite case dans la section de droite de la fenêtre.
Activer les macros
Pour qu'Outlook prenne en compte les macros, il est important de les activer.
Pour cela, il te suffit de te rendre dans les options d'Outlook puis dans le Centre de gestion de la confidentialité
et enfin dans les Paramètres du Centre de gestion de la confidentialité...
. Une fois arrivé dans ce menu, tu trouveras les Paramètres des macros
sur la gauche de la fenêtre. Une fois dedans, tu devras activer l'option Activer toutes les macros
.
Il t'est possible de changer cette option à tout instant si tu ne souhaites pas laisser activer les macros en permanence.
Création des scripts
Une fois le mode développeur activé, nous allons pouvoir ajouter deux scripts à Outlook pour que tout fonctionne.
Le premier script permet d'ajouter à Outlook le chemin vers les pièces jointes que l'on souhaite ajouter.
Le second script permet de charger les pièces jointes précédemment ajoutée à chacun de nos courriers contenant PUBLIIDEM
en début d'objet.
Pour ajouter le premier script, tu dois te rendre dans l'onglet Développeur
du ruban puis cliquer sur Visual Basic
. Dès lors, une nouvelle fenêtre va apparaitre.
Ajouter les fichiers à joindre
Dans un premier temps, nous allons ajouter le script permettant de charger les pièces jointes.
Pour cela, il faut créer un nouveau module comme le montre l'image ci-dessous :
Puis, en double cliquant sur le module, nommé Module 1
, une fenêtre s'ouvre à gauche. Il faut y ajouter le script suivant :
Public publipostagePJ As Variant
Sub setPublipostage()
On Error Resume Next
If publipostagePJ(0) = "" Then publipostagePJ = Array("fin", "fin", "fin", "fin", "fin", "fin", "fin", "fin", "fin", "fin")
While publipostagePJ(i) <> "fin"
contenu = contenu & vbCr & publipostagePJ(i)
i = i + 1
Wend
If contenu = "" Then contenu = "vide"
modifier = MsgBox(contenu & vbCr & "Voulez vous modifier les fichiers ?", vbYesNo, "Fichiers paramétrés")
If modifier = vbYes Then
For i = 0 To 9
If i > 0 Then encore = MsgBox("un autre ?", vbYesNo)
quest:
If encore <> vbNo Then
PJ = InputBox("Emplacement du fichier joint au PUBLIPOSTAGE?", _
"Paramétrage du PUBLIPOSTAGE pour la session", publipostagePJ(i))
If "" = Dir(PJ, vbNormal) Then GoTo quest
publipostagePJ(i) = PJ
Else: Exit For
End If
Next i
End If
MsgBox "Votre publipostage doit comporter le terme :" & vbCr & "PUBLIIDEM" & vbCr & "dans le sujet." & vbCr & "Celui-ci sera retiré lors de l'envoi"
End Sub
Charger les fichiers dans les courriers
Ensuite, il nous faut insérer le second script qui récupèrera le courrier juste avant qu'il ne parte pour lui ajouter les pièces jointes précédemment définies.
Pour cela, il faut se rendre dans le script ThisOutlookSession
.
Puis ajouter le script suivant :
' Permet d'attacher une ou plusieurs pièces jointes à un courrier (même fichiers pour l'ensemble des destinataires)
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objFolder As Object
Dim objFile As Object
Dim DEST As Recipient
Dim SMTPTO As String
If Item.Class = olMail Then
Dim objCurrentMessage As MailItem
Set objCurrentMessage = Item
' Permet de vérifier que le sujet du courrier contient le terme "PUBLIIDEM"
If UCase(objCurrentMessage.Subject) Like "*PUBLIIDEM*" Then
On Error Resume Next
Dim i As Long
i = 0
If publipostagePJ <> "" Then
' Permet d'ajouter la même pièce jointe à chacun de ses correspondants
While publipostagePJ(i) <> "fin"
objCurrentMessage.Attachments.Add Source:=publipostagePJ(i)
i = i + 1
Wend
End If
'On supprime le terme PUBLIIDEM du sujet et le courrier s'envoie avec l'ensemble des pièces jointes
objCurrentMessage.Subject = Replace(objCurrentMessage.Subject, "PUBLIIDEM ", "")
End If
Set objCurrentMessage = Nothing
End If
End Sub
Ce script est appelé juste avant l'envoi du courrier, regarde si l'objet contient le mot PUBLIIDEM
et ajoute les pièces jointes si c'est le cas puis retire le mot.
Utilisation
Maintenant qu'on a l'ensemble de nos scripts en place, il s'agit de bien les utiliser ! Pour cela, tu dois ouvrir Outlook (pense à le redémarrer après avoir ajouté un script) puis te rendre dans la section Développeur
.
Tu trouveras un bouton Macros
. En cliquant dessus, tu verras le script permettant d'ajouter les pièces jointes apparaitre.
En cliquant sur le script, tu auras une boîte de dialogue te demandant les documents à ajouter.
Dans cette boîte de dialogue, tu ne dois pas jouter le document directement mais le chemin vers ce dernier. Pour trouver ce dernier, il te suffit de te rendre à ton fichier via l'explorateur de fichier et de copier le chemin vers document à l'aider d'un clic droit. N'oublie pas d'enlever les guillemets
Si le chemin ressemble à cela, il te faut lui retirer les guillemets !
- "C:\Users\****\Downloads\Book1.xlsx"
+ C:\Users\****\Downloads\Book1.xlsx
Ensuite, tu peux effectuer le publipostage normalement en pensant à inclure PUBLIIDEM au début de l'objet de ton message ! Dès lors, l'ensemble des documents ajoutés seront insérés dans le courrier !
Bon publipostage !
Tips
Afin de vérifier que tout fonctionne bien et pour éviter d'envoyer des courriers, tu peux passer en mode hors-ligne depuis Outlook. Tu trouveras alors l'ensemble de tes courriers dans l'Outbox
où tu pourras vérifier la présence de la pièce jointe.
À droite de l'image, on a la présence de l'icône permettant de travailler en hors-ligne.
Code source
Crédit
Merci à Patricia D pour ses vidéos et ses scripts qui ont permis la création de ce tutoriel