Salut le fofo,
Question existentielle du jour : rajouter un cc sur un émailing via publipostage.
Je viens de vérifier sur différents sites de Crosoft, il n'est pas possible lorsque l'on fait un publipostage de sélectionner plusieurs destinataires par mail (et en mettre plusieurs dans un même champ séparé par des ";" ne fonctionne pas non plus).
J'essaie de passer par une macro en VB via excel, mais je reste limité aussi quant au fait que .MailMerge ne gère qu'un .MailAddressFieldName unique ...
Donc je regarde maintenant du côté d'outlook en vb. J'ai trouvé quelques pistes intéressantes dont celle-ci dessous mais qui ne me satisfait pas non plus :
la raison en est en simple, il faut pour que ce code fonctionne, que j'ouvre le .docx qui me sert à la fusion des données (par ailleurs sur un .xlsx). l'envoi multiple fonctionne, là-dessus, pas de sujet, toutefois, le document étant ouvert sur une valeur, et donc figé, je ne peux pas réellement parler de publipostage avec cette fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 Sub emailFromDoc() Dim wd As Object, editor As Object Dim doc As Object Dim oMail As Object Dim oApp As Object Dim iR As Integer Dim i As Integer Dim oDoc As Document Dim oDS As MailMergeDataSource Dim DocName1 As String Dim DocName2 As String Set oDoc = ActiveDocument Set oDS = oDoc.MailMerge.DataSource Set oApp = CreateObject("Outlook.Application") Set wd = CreateObject("Word.Application") Set doc = ActiveDocument doc.Content.Copy Set wd = Nothing iR = oDoc.MailMerge.DataSource.RecordCount Debug.Print iR For i = 1 To iR Set oMail = oApp.CreateItem(olMailItem) With oMail With oDoc.MailMerge 'Définition du premier et dernier enregistrement .DataSource.FirstRecord = i .DataSource.LastRecord = i ' Actualisation de l'enregistrement pour la sauvegarde .DataSource.ActiveRecord = i DocName1 = .DataSource.DataFields(3).Value DocName2 = .DataSource.DataFields(4).Value End With 'Ajout des destinataires .To = DocName1 .CC = DocName2 .Subject = "It's a fuckin'Test " ' .BodyFormat = olFormatRichText Set editor = .GetInspector.WordEditor editor.Content.Paste .Display .Send End With Next i End Sub
D'où ma question, est-il possible à partir d'outlook, de générer un émailing personnalisé (le body contient des données fusionnées, chaque émail est donc unique) à plusieurs destinataires par email ?
Merci par avance pour le coup de main
Pet's
Partager