Bonjour,
Je cherche à savoir comment automatiser l'envoi de mails via une liste de contacts Excel (comportant plusieurs colonnes dont le nom, le prénom, l'adresse et surtout le mail) avec l'envoi d'une pièce jointe différente pour chaque destinataire. Toutes ces pièces jointes seraient stockées dans un dossier spécial.
Après quelques recherches j'ai réussi à trouver cette macro et la modifier pour qu'elle corresponde à mes besoins. Grâce à elle j'arrive à envoyer un mail à tous les destinataires de ma liste, en y ajoutant une pièce jointe spécifique mais cependant unique et non différente comme je le voudrais.
Je voudrais donc savoir comment modifier mon code pour que la macro modifie la pièce jointe pour chaque destinataire. Une des façons de faire à laquelle je pensais c'est puiser le Nom et Prénom du destinataire dans la liste Excel des contacts et les utiliser pour retrouver la pièce jointe correspondante (qui comportera en intitulé le Nom et Prénom du destinataire), mais je n'ai aucune idée de comment le mettre en oeuvre, parce que je n'ai que très peu de connaissances en code vu que ce n'est pas mon métier, même si j'arrive à me débrouiller.
Sur ce forum j'ai trouvé une discussion qui parle de ça et où un utilisateur spécifie qu'il utilise une boîte de dialogue lui permettant de choisir la pièce jointe avant l'envoi du mail, ça pourrait être une solution mais moins pratique que la sélection automatique. (lien de la discussion : https://www.developpez.net/forums/d1...er-envoyer-pj/)
Cependant je ne sais pas comment intégrer ce module à ma macro.
Voici donc le code la macro que j'utilise pour l'instant, en attendant de la modifier pour qu'elle réponde à mes besoins :
Je vous remercie d'avance pour vos réponses, je vais continuer de chercher en attendant !
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 Sub Sample() 'Setting up the Excel variables. Dim olApp As Object Dim olMailItm As Object Dim iCounter As Integer Dim Dest As Variant Dim SDest As String 'Create the Outlook application and the empty email. Set olApp = CreateObject("Outlook.Application") Set olMailItm = olApp.CreateItem(0) 'Using the email, add multiple recipients, using a list of addresses in column A. With olMailItm SDest = "" For iCounter = 1 To WorksheetFunction.CountA(Columns(1)) If SDest = "" Then SDest = Cells(iCounter, 1).Value Else SDest = SDest & ";" & Cells(iCounter, 1).Value End If Next iCounter 'Do additional formatting on the BCC and Subject lines, add the body text from the spreadsheet, and send. .BCC = SDest .Subject = "Sujet" .Body = ActiveSheet.TextBoxes(1).Text .Importance = olImportanceHigh .Attachments.Add "Chemin du fichier" .Send End With 'Clean up the Outlook application. Set olMailItm = Nothing Set olApp = Nothing End Sub
Bonne journée,
Partager