IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Envoi email sous access vers plusieurs destinataires


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Envoi email sous access vers plusieurs destinataires
    Bonjour,

    Je souhaite envoyer un email à plusieurs destinataires à partir d'un bouton. Des adresses email sont stockées dans une table et une requête me permet de sélectionner les adresses des destinataires choisis.

    Je pense utiliser le code ci-dessous pour lancer mon email:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim Olook As Outlook.Application
    Dim Omail As MailItem
    Set Olook = New Outlook.Application
    Set Omail = Olook.CreateItem(olMailItem)
    Omail.To = "*********" '< ----adresses des destinataires
    Omail.Subject = "Bonjour "
    Omail.Body = "Comment ça va?"
    Omail.Send 'Envoi le mail
    Le problème, c'est que je ne sais pas comment récupérer les éléments de ma requête et les placer après Omail.To =.

    Si l'un d'entre vous à une solution, je lui en serais très reconnaissant.

    Merci d'avance pour vos réponses.

  2. #2
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 337
    Points : 188
    Points
    188
    Par défaut
    il faut récupérer les résultats de ta requête en créant un recordset (on trouve de nombreux tutos là dessus).

    ensuite, je pense qu'il faut créer un String contenant la liste des adresses mails à partir du recordset.

    enfin, il suffit d'affecter la valeur de ton String à ton "mail.To"

    et le tour est joué

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette réponse.
    Le problème, c'est que je débute en VBA (2 semaines de pratique) et je dois avouer que j'ai du mal à mettre en application ce que tu me conseilles.
    Est-il possible de développer un peu cette explication?

    Merci beaucoup.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2009
    Messages : 30
    Points : 32
    Points
    32
    Par défaut
    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
    'Variable
    Dim Select_Req As String
    Dim Rep As Recordset
     
    'Req en Langage sql
    Select_Req = "Select [id_post#]as post from Rdv where rdv.[id_chamb#]= " & Jury & " and rdv.[id_H#]= #" & H & "#;"
     
    'Stockage de ta sélection dans un Table
    Set Rep = CurrentDb.OpenRecordset(Select_Req)
     
    'Boucle
    Do Until Rep.EOF = True
    WksSheet.Cells(J, I) = Rep!Post
    Rep.MoveNext
    Loop

  5. #5
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonsoir,

    Voilà mon code qui fonctionne bien:

    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
     
    Dim jc_dbase as DAO.database
    Dim jc_Liste as DAO.recorset
    Dim jc_Cible as string
    Dim jc_Message as object
     
    'ouvre un RecordSet sur les adresses MAIL
    Set jc_Liste = jc_dBase.OpenRecordset("Select WEBPERSO FROM tbl_adherent " & jc_Tri)
     
    'boucle sur chaque enregistrement et les ajoute au champ BBC du mail
        While Not jc_Liste.EOF
                jc_Cible = jc_Cible & jc_Liste.Fields("WEBPERSO") & "; "
                jc_Liste.MoveNext
        Wend
     
    'supprime la dernière virgule et complète avec les adresses le champ des destinataires d'une copie
    jc_Message.BCC = Left(jc_Cible, Len(jc_Cible) - 2)
     
    ' envoi un E-MAIL à mon adresse pour controle
    jc_Message.To = "XXXXX.xxxx@neuf.fr"
    Voilà

    Bonne soirée.

    JC57

Discussions similaires

  1. [AC-2010] Envoi d'email via ACCESS avec plusieurs pièces jointes
    Par franckb74 dans le forum VBA Access
    Réponses: 0
    Dernier message: 09/06/2014, 09h41
  2. Export table Access vers plusieurs fichiers Excel
    Par entrepreneur dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/01/2008, 09h18
  3. Réponses: 3
    Dernier message: 27/07/2007, 15h21
  4. Problème d'envoi email sous Mandriva
    Par wxcvbn123456 dans le forum Réseau
    Réponses: 5
    Dernier message: 26/05/2006, 16h22
  5. Appli monoposte sous Access vers une appli Internet
    Par henryn dans le forum Access
    Réponses: 1
    Dernier message: 06/12/2005, 23h31

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