Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/01/2012, 22h51   #1
Invité de passage
 
Inscription : janvier 2012
Messages : 1
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 1
Points : 0
Points : 0
Par défaut Mail avec pièce jointe

Hello,

J'ai un souci et j'ai besoin de votre aide...

J'ai une table sous Access 2007 avec plusieurs champ :

ID / Titre / Description / Pièces Jointes/ ...

J'ai un formulaire qui affiche ces champs et qui a un bouton pour les envoyer par mail via Outlook 2007.

Dans mon code (VBA et non EnvoyerObjet/SendObject), tout se passe bien. Cependant, je n'arrive pas à mettre les pièces jointes de ma table Access en pièces jointes Outlook.

En résumé :

To = xxx@xxx.com
Subject = [ID]&[Titre]
Body = [Description]

=> Ceci fonctionne !

Mais, quand je veux rajouter les pièces jointes contenues dans ma table Access je ne sais pas quoi mettre :

To = xxx@xxx.com
Subject = [ID]&[Titre]
Body = [Description]
Attachments = ???

J'ai essayé de mettre [Pièces jointes] mais rien n'y fait !

Avez-vous svp la solution ?

Merci beaucoup !
TheEdge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 00h35   #2
Membre du Club
 
Consultant KPI
Inscription : août 2010
Messages : 23
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant KPI

Informations forums :
Inscription : août 2010
Messages : 23
Points : 43
Points : 43
Bonjour,

J'utilise ce module sous Excel, il devrait fonctionner à l'identique.
En tout cas tu auras le principe de fonctionnement de l'attache

Code :
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
 
Public Sub EnvoiEmail(Adresse As String, _
                     objet As String, _
                     corps As String, _
                     Optional From As String, _
                     Optional PJ As String, _
                     Optional Cc As String, _
                     Optional Bcc As String)
Dim OutlookApp As New Outlook.Application
Dim myMail     As Outlook.MailItem
Dim myPJ       As Outlook.Attachments
    '
    Set myMail = OutlookApp.CreateItem(olMailItem)
    With myMail
        .To = Adresse
        If Not IsNull(Cc) Then .Cc = Cc
        If Not IsNull(Bcc) Then .Bcc = Bcc
        .Subject = objet
        .Body = corps
        If Not IsNull(PJ) And PJ <> "" Then
            Set myPJ = .Attachments
            myPJ.Add PJ, olByValue
        End If
        .Send
    End With
    '
    Set myPJ = Nothing
    Set myMail = Nothing
    Set OutlookApp = Nothing
End Sub
DeTraX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 15h38   #3
Futur Membre du Club
 
Inscription : juillet 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 82
Points : 19
Points : 19
J'ai créé une base Access qui envoie automatiquement un PDF généré juste avant.

Pour la pièce jointe j'utilise la fonction suivante :
Code :
MonMessage.Attachments.Add sPDFPath & sPDFName
(sPDFPath étant le chemin de mon PDF et sPDFName le nom du fichier PDF)

ça marche nickel chez moi.

A+
Fredo67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 12h13   #4
Membre du Club
 
Homme Serigne BA
Étudiant
Inscription : août 2011
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Serigne BA
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 47
Points : 52
Points : 52
Salut,
Moi j'utilise ce code s'il pourra t'aider :
Code :
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
Function EnvoiMailSimpleEsesFrance()
  ' Création d'une variable de type E-Mail :
  Dim Email As Outlook.Application
  Dim EmailMsg As Outlook.MailItem
  Dim Dest As Outlook.Recipient
  'Dim col As Variant
 On Error GoTo Erreur
 
Set Email = CreateObject("Outlook.Application")
Set EmailMsg = Email.CreateItem(olMailItem)
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(olMailItem)
ChDir "Q:\"
chem = CurDir
chemin = chem & "\" & "test.xls"
Set Email = CreateObject("Outlook.Application")
Set EmailMsg = Email.CreateItem(olMailItem)
' Création de l'e-mail : Titre, Corps du message, destinataire
'For i = 2 To li
 'EmailMsg.Recipients.Add ("aaaa@aaa.com")
 EmailMsg.Recipients.Add ("aaaa@aaa.com")
 
 EmailMsg.Subject = "Instructions Permanantes"
 EmailMsg.Body = "Bonjour, Je vous prie de trouver ci-joint le tableau  du jour. Bon courage !"
 
EmailMsg.Attachments.Add chemin
Erreur:
 If Err = -2147024894 Then
 MsgBox "Pensez à créer d'abord le fichier !", vbInformation
 
Exit Function
End If
 EmailMsg.CC = "junior@yahoo.fr"
 
' Placement de l'e-mail dans la boîte d'envoi :
 EmailMsg.Send
 
 MsgBox ("Votre mail a été envoyé avec succès !")
 
Set EmailMsg = Nothing
Set Email = Nothing
End Function
__________________
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi !

Albert Einstein
Serigne-BA est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h17.


 
 
 
 
Partenaires

Hébergement Web