Ajouter une pièce jointe à un mail sur Access

Résolu/Fermé
AstraLife Messages postés 98 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 1 juillet 2019 - 2 oct. 2017 à 13:26
AstraLife Messages postés 98 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 1 juillet 2019 - 9 oct. 2017 à 19:40
Bonjour,

Sur Access 2013/16

Je souhaite, dans un formulaire, à partir d'une liste déroulante, après avoir sélectionné la date charger un état (en PDF) en fonction de la date
et le joindre à un mail, le hic c'est que je passe par du code DAO pour préparer le mail (en fonction d'une requête ou se trouvent les contacts) et je n'arrive pas à y ajouter ma pièce jointe, (l'état chargé précédemment au format PDF).

Si quelqu'un pouvait me renseigner, grand merci.
Ci-joint le code du module et le code de lancement de la macro.


Code du Module =>

Option Compare Database

Sub LaTotale()
' #######################
' # 1. Access via DAO : #
' #######################



' Initialisation :
Dim ListeEMail As DAO.Recordset
Set ListeEMail = CurrentDb.OpenRecordset("R_EMAIL_LD")
ListeEMail.MoveFirst
ListeComplete = ""

' Parcourt de la requête :
While Not ListeEMail.EOF
ListeComplete = ListeComplete & ListeEMail("EMail") & ";"
ListeEMail.MoveNext
Wend

' On enlève le dernier point virgule :
' ListeComplete nous sera évidemment utile tout à l'heure :
ListeComplete = Left(ListeComplete, Len(ListeComplete) - 1)

' Stop DAO :
ListeEMail.Close
Set ListeEMail = Nothing

' #######################################
' # 2. Envoi de l'E-Mail avec Outlook : #
' #######################################


' Initialisation :

Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)

' Préparation du message :
MonMessage.To = "xxxxxx@free.fr"


' Récupération de la chaîne d'E-Mails Access :
MonMessage.To = ListeComplete
MonMessage.Subject = "Bilan de production Lettre Départ"
Corps = "Bonsoir,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Ci-joint le Bilan de production Lettre Départ."
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Villeneuve-La-Garenne PIC - 92"
MonMessage.body = Corps
MonMessage.display

End Sub


Code d'appel de la macro =>

Private Sub LaTotale___Click()
'MsgBox Oui + Non + icône Question
Select Case MsgBox("Vous allez charger le bilan de la journée de production du :" & Chr(13) & Chr(13) & " " & Format(Me.LaTotale__, "Long Date") & Chr(13) & Chr(13) & "Merci de patientez jusqu'à la fin du chargement.", vbYesNo + vbQuestion + vbSystemModal, "Apperçu Bilan Lettre Départ")
Case vbYes

Call LaTotale
Case vbNo
'procédure si click sur Non
End Select
End Sub

9 réponses

yg_be Messages postés 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476
2 oct. 2017 à 18:23
bonjour,
je pense qu'il suffit de faire
MonMessage.Attachments.Add "nom complet du fichier"

il me semble que tu ne donnes aucune information à propos de ce fichier à joindre.
0