Bonjour,
Je souhaiterais créer un mailing à envoyer tous les clients dont le contenu proviendrait d'un champ memo d'un formulaire.
Existe-t-il un tutorial ou quelq'un pourrait m'expliquer comment procéder ?
Merci
Version imprimable
Bonjour,
Je souhaiterais créer un mailing à envoyer tous les clients dont le contenu proviendrait d'un champ memo d'un formulaire.
Existe-t-il un tutorial ou quelq'un pourrait m'expliquer comment procéder ?
Merci
Bonjour.
Quand tu parles de mailing, parles-tu bien d'un envoi papier, pas de courrier électronique ?
A+
OK, regarde là :
Comment envoyer un mail format HTML avec Outlook ?
https://access.developpez.com/faq/?p...look#mail_html
ou là
Comment envoyer un mail avec Outlook ?
https://access.developpez.com/faq/?page=Outlook#Outlook
Je pense que tu y trouveras ton bonheur.
A+
Merci, j'avais vu ce code à insérer dans un module mais je me pose 3 questions :
1) il suffit d'un bouton de commande pour appeler ce code ?
2) comment récupérer toutes les addresses email repris dans un champ de ma table ?
3) comment faire reference dans ce code au contenu du mail repris dans un champ de formulaire ?
Bonjour.
Oui.Citation:
1) il suffit d'un bouton de commande pour appeler ce code ?
Pour les autres points, il faudrait que tu poste la structure de ta table source.
Le code autours de la fonction va varier en fonction de cela.
Je suppose que c'est
Comment envoyer un mail avec Outlook ?
https://access.developpez.com/faq/?page=Outlook#Outlook
Qui t'intéresse. C'est bien cela ?
A+
J'ai une table "tbl_mail" qui reprend 2 champs :
Date_envoi
Contenu_mail (memo)
Le contenu du mail à envoyer = contenu_mail
Pour ce qui est des destinataires, il faudrait reprendre tous les mails d'un champ de ma table tbl_clients
C'est bien comment envoyer un mail avec Outlook qui m'intéresse.
Peux-tu préciser le type de ce champ ?Citation:
il faudrait reprendre tous les mails d'un champ de ma table tbl_clients
Est-ce un champ texte ? Un champ Mémo ? Autre chose ?
Et son nom.
A+
Quel est son nom ?
Est-ce qu'il y a plus d'un courriel dans ce champ ?
Si oui quel est le séparateur ?
A+
OK, on y va.
À mettre dans un module avec le code de CreateEmail ici https://access.developpez.com/faq/?page=Outlook#Outlook.
s'appelle en faisant :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 public sub EnvoyerCourrielClient() dim db as dao.database:set db=currentdb dim rClient as dao.recordset: set rClient=db.openRecordste("tbl_clients", dbOPenSnapshot) 'Accède à la liste des clients dim rMail as dao.recordset: set rMail=db.openRecordste("tbl_mail", dbOPenSnapshot) 'Accède à la liste des textes de courriel '=== Parcourt la liste des clients do while not rClient.eof if rMail.recordcount<>0 then rMail.movefirst '=== Parcourt la liste des textes de courriel à envoyer do while not rMail.eof if rClient![eMail] & "" <>"" then call CreateEmail( rClient![eMail], "Courrier du " & rMail![Date_Envoi], rMail![Contenu_mail]) end if rMail.movenext loop '--- Parcourt la liste des textes de courriel à envoyer end if rClient.movenext loop '--- Parcourt la liste des clients rMail.close:set rMail=nothing 'Ferme et libère la mémoire associée rClient.close: set rClinet=nothing 'Ferme et libère la mémoire associée db.close: set db=nothing 'Ferme et libère la mémoire associée end sub
A+Code:call EnvoyerCourrielClient()
J'ai inséré les 2 codes dans un module.
J'ai ensuite créé mon formulaire base sur ma table "tbl_mail"
Sur click de mon bouton de commande, j'ai inséré le code :
Mais lorsque je click sur le bouton de commande, j'obtiens un message d'erreur (voir annexe).Code:call EnvoyerCourrielClient()
Bonjour.
Comme mentionné dans la FAQ, il faut mettre une référence sur Outlook pour pouvoir utiliser le code de création du courriel.
A+
Ce n'est pas une erreur de Access mais de Outlook.
Vérifie que l'adresse courriel est bien une adresse valide du genre toto@Tata.com.
Si l'adresse est valide, met cette ligne en commentaire et vois si Access est capable de créer le courriel
et tu peux ajouter les lignes
avant le send pour forcer l'enregistrement dans tes brouillons de courriels.Code:
1
2 Call oMail.Display Call omail.Save
Attention pour les tests il est recommandé de ne pas utiliser de vraies adresses clients car tu ne veux pas forcément que tes clients reçoivent messages tant que tout n'est pas parfais.
En plus tu risques de te faire "black lister" comme spammeur.
Personnellement je me sers de mon adresse professionnelle pour tous mes destinataires comme cela je peux valider le résultat avant de basculer en production.
Tu peux aussi tester la procédure d'envoi à la main avec du code comme :
et la boucle de création en remplaçant l'appelle à la création du courriel par unCode:
1
2
3 private sub Test_CreateEmail() call CreateEmail("UneAdresseValide@UnServeur.com", "Test sujet", "Test Texte") end sub
histoire de voir ce qui se passe SANS envoyer de courriels.Code:msgbox(rClient![eMail] & vbNewline & rMail![Date_Envoi] & vbNewline & rMail![Contenu_mail])
A+
A+
Ca a l'air de marcher. Merci infiniment marot_r