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

Access Discussion :

Envoi de mail via MS-Access et Outlook


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Envoi de mail via MS-Access et Outlook
    Bonjour,


    Je sollicite votre aide par rapport à la problématique suivante :

    De prime abord mes deux tables : Rdx et AdMails
    Structure de la table RDV :
    Region Texte
    Ville Texte
    CodeAgence numérique
    Agence Texte
    RadicalCli numérique
    Nom Texte
    Prenom Texte
    CSP Texte
    Telephone numérique
    Mnt_Propose numérique
    Duree_Propose numérique
    StautApp Texte
    DateRDV date
    AutreMnt numérique
    AutreDuree numérique


    Structure de la table Admails

    CodeAgence Numérique
    Agence Texte
    MCCL1 Texte Mail du chargés de clientèle 1 est rattacher à une agence
    MCCL2 Texte Mail du chargés de clientèle 2 est rattacher à une agence
    MCCL3 Texte Mail du chargés de clientèle 3 est rattacher à une agence
    MCCL4 Texte Mail du chargés de clientèle 4 est rattacher à une agence
    MDA Texte Mail du Directeur d'agence est rattacher à une agence
    MSDA Texte Mail de l'adjoint du directeur d'agence est rattacher à une agence
    MANIM Texte Mail de l'animateur Gére plusieurs agences
    MDR Texte Mail du directeur regionale Gére plusieurs agences
    MADR Texte Mail de l'adjoint du directeur regionale Gére plusieurs agences
    CENTRAL 1 Texte Mail direction central Gére le réseau
    CENTRAL 2 Texte Mail direction central Gére le réseau
    CENTRAL 3 Texte Mail direction central Gére le réseau
    CENTRAL 4 Texte Mail direction central Gére le réseau
    CENTRAL 5 Texte Mail direction central Gére le réseau



    Mon objectif :

    envoyer des mails chaque jour à des groupes de personne via MS Access selon le processus suivant
    1. Intégrer les RDVs à communiquer aux agences dans la table RDV (Input)

    Output

    2. En fonction du code agence des mails personnalisés sont envoyé :
    a. Au(x) chargé(s) comme destinataire principal et au directeur d’agence et son adjoint et l’animateur en charge comme « Cc » :
    Le mail contient un tableau regroupant les données de la table RDV et les rendez-vous de l’agence
    b. A l’animateur comme destinataire principal et au Directeur régional est son adjoint et au personnel de la direction central en « Cc » :
    Le mail regroupe les agences relevant de la région géré par l’animateur


    Pour le code que je ne comprend pas, j'ai ça :

    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
    78
    Option Compare Database
     
    Public Sub EnvoiMassif()
    'Ajouter les références suivantes :
    'Microsoft Outlook
    'Microsoft DAO
    Const SAUTLIGNE = "<br/>"
    Dim oApp As Outlook.Application
    Dim oMail As Outlook.MailItem
    Dim strContenu As String
    Dim oRst As DAO.Recordset
    Dim Rqt As String
    Dim oFld As DAO.Field
    Dim strTo As String
    Rqt = ("select MCCL1 from Admails where AdMails.CodeAgence=Rdv.CodeAgence") & "; "
    'Instancie Outlook
    Set oApp = CreateObject("Outlook.Application")
    'Ouvre un curseur sur la table
    Set oRst = CurrentDb.OpenRecordset("Rdv")
    'Crée un nouveau message
    Set oMail = oApp.CreateItem(olMailItem)
    oMail.Body = olFormatHTML
    strContenu = "<b>Bonjour !</b>"
    'Saute deux lignes
    strContenu = strContenu & SAUTLIGNE & SAUTLIGNE
    'Ecrit le reste de l'entete
    strContenu = strContenu & "<div>Comme convenu, je vous envoie l'ensemble " & _
                            "de la liste des produits que nous " & _
                            "proposons et qui correspondent à l'activité " & _
                            "de votre entreprise.</p>"
     
    'Saute deux lignes
    strContenu = strContenu & SAUTLIGNE & SAUTLIGNE
    'Crée le table
    strContenu = strContenu & "<div align=""center""><table>"
    'Crée la ligne d'entête
    strContenu = strContenu & "<tr>"
    'Pour chaque champ, crée une colonne avec le nom du champ
    For Each oFld In oRst.Fields
      strContenu = strContenu & "<td><b>" & oFld.Name & "</b></td>"
    Next oFld
    'Termine la ligne
    strContenu = strContenu & "</tr>"
    'Pour chaque enregistrement, crée une nouvelle ligne
    While Not oRst.EOF
      strContenu = strContenu & "<tr>"
      'Pour chaque champ, crée une colonne avec la valeur du champ
      For Each oFld In oRst.Fields
        strContenu = strContenu & "<td>" & oFld.Value & "</td>"
      Next oFld
      'Termine la ligne
      strContenu = strContenu & "</tr>"
      'Passe à l'enregistrement suivant
      oRst.MoveNext
    Wend
    'Ferme le tableau
    strContenu = strContenu & "</table></div>"
    'Affecte le code HTML au mail
     
    'Ouvre un recordset sur les clients
    Set oRst = CurrentDb.OpenRecordset("Rdv")
    'Boucle sur chaque client et les ajoute au champ BCC du mail
    While Not oRst.EOF
      strTo = strTo & oRst.Fields("rqt") & "; "
      oRst.MoveNext
    Wend
    'Supprime la dernière virgule
    oMail.BCC = Left(strTo, Len(strTo) - 2)
    oMail.Subject = "Prise de rendez-vous " & Date
    'Envoi le mail
    oMail.Send
    'ferme le curseur
    oRst.Close
    Set oRst = Nothing
    'Ferme Outlook
    oApp.Quit
    Set oApp = Nothing
    End Sub
    Merci d’avance pour votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur Qualité (Microtechnique)
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Qualité (Microtechnique)
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Points : 265
    Points
    265
    Par défaut
    Hello

    Tu peux t’aider de ceci :
    http://access.developpez.com/faq/?page=Outlook#outlook

    Le texte est à mettre dans le paramètre « body » en format HTML (avec les balises, ce que fait le code que tu as déjà). Tu peux t’aider d’un éditeur HTML pour cela si tu n’es pas à l’aise.

    La deuxième possibilité (et si le texte ne change pas) est de d’utiliser un modèle otl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PathMod = "c:\MonDossier\MonModèle.oft"
    Set oMail = appOutlook.CreateItemFromTemplate(PathMod)
    Le modèle otl à le gros avantage de prendre la signature de l’utilisateur en plus du texte se trouvant dans le modèle (très pratique dans le cas où on doit envoyer des mails depuis différents postes)

    Sinon en ce qui concerne les recordset, je te laisse faire un tour sur le forum.
    Avant de poser une question avez-vous testé l’enregistreur de macro ?
    http://fauconnier.developpez.com/tut...istreur-macro/
    Merci de passer vos discussion en
    Et sinon un est toujours le bienvenue.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    merci beacoup Nodens_swiss pour votre réponse, je vais essayé ça.

    bien à vous

Discussions similaires

  1. [OL-2010] Help -> Bug pour envoi mail via vba access vers outlook
    Par Razielh dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 03/01/2016, 11h50
  2. [VBA] Envoie de mail via outlook
    Par sperchey dans le forum Access
    Réponses: 7
    Dernier message: 21/02/2007, 16h35
  3. Envoie de mail via access, VB et CDO
    Par dragonfly dans le forum Access
    Réponses: 4
    Dernier message: 09/01/2007, 14h58
  4. Envoi de mail via Outlook
    Par Chromatic dans le forum Access
    Réponses: 8
    Dernier message: 14/02/2006, 11h30
  5. Confirmation d'envoi de mail Via Access
    Par Hamdi dans le forum Access
    Réponses: 2
    Dernier message: 01/02/2006, 13h14

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