1. #1
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut Création d'un mailing

    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

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    9 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 9 849
    Points : 15 121
    Points
    15 121

    Par défaut

    Bonjour.

    Quand tu parles de mailing, parles-tu bien d'un envoi papier, pas de courrier électronique ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut

    Citation Envoyé par marot_r Voir le message
    Bonjour.

    Quand tu parles de mailing, parles-tu bien d'un envoi papier, pas de courrier électronique ?

    A+
    Non je parle d'envoi par mail (du meme mail) à tous mes clients dont le contenu du mail serait établi sur base du contenu d'un champ memo dans un formulaire.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    9 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 9 849
    Points : 15 121
    Points
    15 121

    Par défaut

    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+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut

    Citation Envoyé par marot_r Voir le message
    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 ?

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    9 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 9 849
    Points : 15 121
    Points
    15 121

    Par défaut

    Bonjour.

    1) il suffit d'un bouton de commande pour appeler ce code ?
    Oui.

    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+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut

    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.

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    9 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 9 849
    Points : 15 121
    Points
    15 121

    Par défaut

    il faudrait reprendre tous les mails d'un champ de ma table tbl_clients
    Peux-tu préciser le type de ce champ ?
    Est-ce un champ texte ? Un champ Mémo ? Autre chose ?
    Et son nom.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut

    Citation Envoyé par marot_r Voir le message
    Peux-tu préciser le type de ce champ ?
    Est-ce un champ texte ? Un champ Mémo ? Autre chose ?
    Et son nom.

    A+
    C'est un champ texte (court)

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    9 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 9 849
    Points : 15 121
    Points
    15 121

    Par défaut

    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+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  11. #11
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut

    Citation Envoyé par marot_r Voir le message
    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+
    Le champ se nomme "Email" et ne reprend que des addresses mail(@).

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    9 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 9 849
    Points : 15 121
    Points
    15 121

    Par défaut

    OK, on y va.

    À mettre dans un module avec le code de CreateEmail ici https://access.developpez.com/faq/?page=Outlook#Outlook.

    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
    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
    s'appelle en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call EnvoyerCourrielClient()
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  13. #13
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut

    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call EnvoyerCourrielClient()
    Mais lorsque je click sur le bouton de commande, j'obtiens un message d'erreur (voir annexe).
    Images attachées Images attachées  

  14. #14
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    9 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 9 849
    Points : 15 121
    Points
    15 121

    Par défaut

    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+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  15. #15
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut

    Citation Envoyé par marot_r Voir le message
    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+
    Complètement oublié mais ce n'est pas pour autant que cela fonctionne

    J'obtiens le message d'erreur suivant :

    Erreur d'exécution '-2147467259 (80004005)':
    Impossible de reconnaître un ou plusieurs noms.


    Il me met en jaune oEmail.Send de mon code CreateEmail

  16. #16
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    9 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 9 849
    Points : 15 121
    Points
    15 121

    Par défaut

    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Call oMail.Display
        Call omail.Save
    avant le send pour forcer l'enregistrement dans tes brouillons de courriels.

    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private sub Test_CreateEmail()
       call CreateEmail("UneAdresseValide@UnServeur.com", "Test sujet", "Test Texte")
    end sub
    et la boucle de création en remplaçant l'appelle à la création du courriel par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox(rClient![eMail] & vbNewline  & rMail![Date_Envoi] & vbNewline & rMail![Contenu_mail])
    histoire de voir ce qui se passe SANS envoyer de courriels.

    A+
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  17. #17
    Débutant
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2004
    Messages : 482
    Points : 142
    Points
    142

    Par défaut

    Ca a l'air de marcher. Merci infiniment marot_r

Discussions similaires

  1. lancement d'un userform à la création d'un mail
    Par Vbapprentis dans le forum VBA Outlook
    Réponses: 8
    Dernier message: 18/09/2007, 14h02
  2. Création de boite mail automatique
    Par grunk dans le forum Administration système
    Réponses: 0
    Dernier message: 10/08/2007, 11h46
  3. [Conception] Création d'un Mailing List via une BDD
    Par Matmax dans le forum PHP & SGBD
    Réponses: 15
    Dernier message: 12/04/2006, 14h23
  4. [Conception] Création de compte mail.
    Par proner dans le forum Général Java
    Réponses: 5
    Dernier message: 16/02/2005, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo