Bonjour à tous,
Je suis débutant...
J'ai eu le même problème concernant l'envoi d'email via VBA.
Message d'erreur "Un composant ActiveX ne peut pas créer d’objet".
Au niveau de l'instruction :
Set MonOutlook = CreateObject("Outlook.Application")
J'ai lu les FAQ sur le sujet et j'ai ajouté Server.
Tel que :
Set MonOutlook = Server.CreateObject("Outlook.Application")
Message d'erreur : variable non définie.
Rq : je dispose de access 2003...
NB : je souhaite envoyer des e-mail à partir d'une variable nommée mail_agent de la table alta. Et à chaque agent, lui envoyer l'information le concernant à partir des champs annonce, num_siret...
Voici mon code :
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| Option Compare Database
Option Explicit
Sub Envoicourriel()
'********************************
'*initialisation de l'accès DAO
'********************************
Dim ListeComplete As String
Dim ListeEMail As Recordset
'Requête qui cherche les 50 premiers résultats :
Set ListeEMail = CurrentDb.OpenRecordset("SELECT mail_agent from alta;")
'boucle qui récupère les adresses mail de chaque résultat :
ListeEMail.MoveFirst
ListeComplete = " "
'Parcours de la requête :
While Not ListeEMail.EOF
ListeComplete = ListeComplete & ListeEMail("mail_agent") & " ; "
ListeEMail.MoveNext
Wend
'ici on retire le dernier point_virgule de la liste
ListeComplete = Left(ListeComplete, Len(ListeComplete) - 2)
'fermeture de la requête
ListeEMail.Close
Set ListeEMail = Nothing
'********************************
'*Envoi de L'email avec Outlook
'********************************
Dim MonOutlook As Object
Dim MonMessage As Object
Dim Corps As String
' On crée une instance d'Outlook :
Set MonOutlook = CreateObject("Outlook.Application")
' Et on crée un élément Outlook, qui sera un message E-Mail :
Set MonMessage = MonOutlook.CreateItem(0)
Set MonOutlook = Nothing
'on crée une instance d'Outlook :
Set MonOutlook = CreateObject("Outlook.Application")
'et on crée un élément Outlook, qui sera un message EMail :
Set MonMessage = MonOutlook.CreateItem(0)
'préparation du message
MonMessage.To = "youss@banque.fr"
MonMessage.BCC = ListeComplete
MonMessage.Subject = "Renouvellement de votre abonnement"
Corps = "D'après nos dossiers, l'entreprise " & ("num_siret") & " a connu des changements"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "blaaaaaaaaaaaaaaaaaaablaaaaaaaaaaaaaaaaaaa"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "blaaaaaaaaaaaaaaaaaaablaaaaaaaaaaaaaaaaaaaaaaaaa"
MonMessage.Body = Corps & "<hr>" & "</div></body></html>"
'on envoi le message
MonMessage.Send
'on ferme Outlook
'Set MonOutlook = Nothing
End Sub |
Je vous remercie par avance.
you'ss
Partager