Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoyez un e-mail avec pièce jointe en VBA Access

Code VBA

Anonyme
    10 novembre 2017 à 9:23:07

    Bonjour,

    Je suis débutant sur Access VBA mais je souhaiterais pouvoir émettre des e-mails avec pièces jointes.

    Le code que j'ai actuellement me permet juste d'envoyer un email simple aux destinataires qui sont dans une table. Mais moi j'aimerais en plus de sélectionner les champs "Objet", "Date", etc, de sélectionné le champ "Pièce jointe". Quelqu'un pourrait m'aider s'il vous plaît :

    Private Sub Commande219_Click()


    'Déclaration des variable
    Dim rst As DAO.Recordset
    Dim StrSQL As String
    Dim strMessageType As String
    Dim strTitre As String
    Dim strMsg As String
    Dim strJst As





    ' Titre du message
    strTitre = "e;{Objet} -- Résolu"e; _

    ' Message type à expédier
    ' Les signes {} seront remplacés plus loin par
    ' les infos Client
    strMessageType = "e;Bonjour,"e; _
    & vbCrLf & vbCrLf _
    & "e;En date du {Date}, Nous avons reçu du client {Nom_Client} la réclamation en objet."e; & vbCrLf & vbCrLf _
    & "e;Nous vous écrivons pour vous informer que cela a été pris en compte et désormais clôt."e; & vbCrLf _
    & vbCrLf & "e;Nous vous souhaitons une bonne réception"e; _
    & vbCrLf & vbCrLf & "e;~~ Service de Réclamations - UGB ~~"e;

    ' Ouverture de la requête
    ' (seuls les gestionnaire ayant un email sont concernés ici)
    StrSQL = "e; SELECT * FROM [Reclamations] WHERE (((Reclamations.Etat)='Clôturée')) "e; _

    Set rst = CurrentDb.OpenRecordset(StrSQL, dbOpenSnapshot)

    ' Parcourir la liste des clients
    While Not rst.EOF
    ' Construire un message personnalisé
    ' (on remplace chaque {} du message par les champs
    ' équivalents de la requête
    strMsg = Replace(strMessageType, "e;{Nom_Client}"e;, rst("e;Nom_Client"e;))
    strMsg = Replace(strMsg, "e;{Date}"e;, rst("e;Date"e;))
    strTitre = Replace(strTitre, "e;{Objet}"e;, rst("e;Objet"e;))
    strJst = Replace(strJst, "e;{Justificatif}"e;, rst("e;Justificatif"e;))

    'strMessageType.Attachments.Add Reclamations("e;Justificatif"e;)



    ' Expédier le mail
    SendMail rst("e;E-mail_gest"e;), strTitre, strMsg, True

    ' Client suivant
    rst.MoveNext
    Wend

    ' On libère les ressources
    rst.Close
    Set rst = Nothing


    CurrentDb.Execute ("e;UPDATE Reclamations SET Reclamations.Etat = 'Archivée' WHERE (((Reclamations.Etat) = 'Clôturée')) ")

    ' Un petit message de confirmation
    MsgBox "Un e-mail a été envoyé chez le gestionnaire!", vbInformation, "   UGB -- Service de Réclamations"e;
    End Sub

    • Partager sur Facebook
    • Partager sur Twitter
      10 novembre 2017 à 11:06:59

      Ici c'est .NET donc VB.NET, pas VBA.

      Je demande aux administrateurs un transfert vers le forum correspondant au VBA.

      Bon courage pour ton projet.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        10 novembre 2017 à 11:23:54

        Bonjour, je déplace dans le forum VBA.

        Et pour écrire du code sur le forum merci d'utiliser le bouton code </> en choisissant le bon langage, ce qui affichera une coloration syntaxique adaptée, ce sera plus clair pour tous.

        • Partager sur Facebook
        • Partager sur Twitter
          10 novembre 2017 à 12:35:54

          Si tu veux générer un mail "un peut plus élaboré", il te faut passer par l'objet Outlook, ou CDO.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            10 novembre 2017 à 14:45:11

            Merci et désolé encore pour la confusion dans la catégorie.

            Merci beaucoup

            • Partager sur Facebook
            • Partager sur Twitter

            Envoyez un e-mail avec pièce jointe en VBA Access

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown