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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set MonOutlook = CreateObject("Outlook.Application")
J'ai lu les FAQ sur le sujet et j'ai ajouté Server.

Tel que :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

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
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