XL 2013 Publipostage avec pièce jointe via Excel

OlivierHervé

XLDnaute Nouveau
Bonjour,

je dois envoyer des ID et MDP à plus de 500 Personnes avec une pièce jointe identique pour tous... mais bien entendu pas de pièce jointe avec un publipostage Word!!!
J'ai donc écrit cette macro de publipostage qui fonctionne... du moins en partie, en effet lorsque je lance ma macro ,le code bute sur .Send
erreur d'exécution '287':
du coup les mails ne se génèrent pas et bien entendu il ne sont pas envoyés automatiquement...
Si je remplace supprime ".Send" les mails se génèrent et restent dans le brouillon de ma boite mail...

Ci-dessous le code et le fichier en pièce jointe

je vous remercie pour votre aide !!!!!

Sub EnvoiMail()
Dim ListeDest
Dim ListeIdentifiant
Dim ListeMDP
Dim i As Long
Dim oMsgApp As Object
Dim oMsg As Object
Dim sListeDest As String
Dim sFichier As String


sFichier = Application.GetOpenFilename(, , "Sélectionner le fichier à envoyer")
If sFichier = "" Then
MsgBox "Aucun fichier sélectionné, opération annulée"
Exit Sub

End If

Set oMsgApp = CreateObject("Outlook.Application")

ListeDest = Range("Tableau1[MAIL]")
ListeIdentifiant = Range("Tableau1[Identifiant]")
ListeMDP = Range("Tableau1[MDP]")


For i = LBound(ListeDest, 1) To UBound(ListeDest, 1)

Set oMsg = oMsgApp.CreateItem(0)
With oMsg

.To = ListeDest(i, 1)

.Attachments.Add sFichier

.Subject = "Votre Identifiant & Mdp"

.Body = "Veuillez trouver ci-joint Votre Identifiant et Mot de passe à l'application taratata." & Chr(10) & Chr(13) & _
"Ainsi que la procédure pour utiliser le portail taratata" & Chr(10) & Chr(13) & _
"Identifiant de connexion: " & ListeIdentifiant(i, 1) & Chr(10) & Chr(13) & _
"MDP: " & ListeMDP(i, 1) & Chr(10) & Chr(13) & _
"Cordialement," & Chr(10) & Chr(13) & _
"Bonne Journée"
.Save
.Send

End With
'Set oMsg = Nothing
Next

MsgBox "Mail envoyé"
End Sub
 

Pièces jointes

  • Publipostage_Mail.xlsm
    20 KB · Affichages: 10

kiki29

XLDnaute Barbatruc
Salut, voir sur le site de Ron de Bruin, via CDO si cela est possible...
sinon fouiller dans Mail from Excel with Outlook (Windows)

Pourquoi utiliser le code CDO au lieu de l'automatisation Outlook ou SendMail dans VBA.
1 : Peu importe le programme de messagerie que vous utilisez (il utilise uniquement le serveur SMTP).
2 : Peu importe la version d'Office que vous utilisez (97…2016)
3 : Vous pouvez envoyer une plage/feuille dans le corps du courrier (certains programmes de messagerie ne peuvent pas le faire)
4 : Vous pouvez envoyer n'importe quel fichier que vous aimez (fichiers Word, PDF, PowerPoint, TXT,….)
5 : Aucun avertissement de sécurité, vraiment génial si vous envoyez beaucoup de courrier en boucle.
 

Discussions similaires

Réponses
2
Affichages
620
  • Question
Microsoft 365 Excel VBA
Réponses
14
Affichages
771
Réponses
7
Affichages
555

Statistiques des forums

Discussions
314 745
Messages
2 112 400
Membres
111 535
dernier inscrit
MJS1