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

IHM Discussion :

Envoyer plusieurs pièces jointes dans un mail


Sujet :

IHM

  1. #1
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut Envoyer plusieurs pièces jointes dans un mail
    Bonjour à tous,

    J'ai un code pour envoyer un mail automatique avec un rapport en pièce jointe en PDF
    Je souhaiterais envoyer un autre rapport en pièce jointe et sous format excel.

    j'ai essayé le code ci-dessous mais cela ne fonctione pas!

    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
    Private Sub cmdEmail_Click()
     
    DoCmd.Requery
     
     
    On Error GoTo Err_cmdEmail_Click
     
        Dim strDocName1 As String
        Dim strDocName2 As String
        Dim strEmail As String
        Dim strEmailCC As String
        Dim strMailSubject As String
        Dim strMsg As String
     
    strDocName1 = "Global_Report" 
    strDocName2 = "Report_Line" 
        strEmail = Me.email
        strEmailCC = Me.EmailCC
        strMailSubject = " Perfo for" & Me.DeroulMenuGeneralDateDebut & " " & Me.DeroulMenuGeneralDateDFin
        strMsg = "Dear," 
     
        DoCmd.SendObject objecttype:=acSendReport, _
        ObjectName:=strDocName1, outputformat:=acFormatPDF, _
        To:=strEmail, CC:=strEmailCC, Subject:=strMailSubject, MessageText:=strMsg
     
        DoCmd.SendObject objecttype:=acSendReport, _
        ObjectName:=strDocName2, outputformat:=acFormatXLS, _
        To:=strEmail, CC:=strEmailCC, Subject:=strMailSubject, MessageText:=strMsg
     
    Exit_cmdEmail_Click:
        Exit Sub
     
    Err_cmdEmail_Click:
        MsgBox Err.Description
        Resume Exit_cmdEmail_Click
    End Sub
    Merci
    Olivier

  2. #2
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonjour à tous,
    Mon problème est-il insoluble?

    Merci
    A bientôt

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    631
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 631
    Points : 360
    Points
    360
    Par défaut
    Voici un moyen :
    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
    Dim StrFile, StrFile1, StrChemin As String
    Dim MonOutlook As New Outlook.Application
    Dim MonMessage As Outlook.MailItem
    ' Initialisation
    Set MonMessage = MonOutlook.CreateItem(0)
    'Remplissage de l'objet MailItem
    MonMessage.To = "machin@truc.fr"
     
    StrFile = "fichier1.pdf"
    StrFile1 = "fichier2.pdf"
    StrChemin = "C:\monchemin\"
     
    MonMessage.Attachments.Add StrChemin & StrFile, , , StrFile
    MonMessage.Attachments.Add StrChemin & StrFile1, , , StrFile1
     
    MonMessage.Subject = "Mon sujet"
    MonMessage.Display
    Set MonOutlook = Nothing

  4. #4
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Merci fclus,

    Malheuresement les documents a envoyer ne se trouve pas sur mon pc mais sont des états.

    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
    Private Sub cmdEmail_Click()
     
    Refresh
     
     
    On Error GoTo Err_cmdEmail_Click
     
        Dim strDocName As String
        Dim strEmail As String
        Dim strEmailCC As String
        Dim strMailSubject As String
        Dim strMsg As String
     
        strDocName = "ReportGlobal"
        strEmail = Me.Email
        strEmailCC = Me.EmailCC
        strMailSubject = "hello"    
        strMsg = "*******************************************" & vbCrLf _
        & "Dear "
        DoCmd.SendObject objecttype:=acSendReport, _
            ObjectName:=strDocName, outputformat:=acFormatPDF, _
            To:=strEmail, CC:=strEmailCC, Subject:=strMailSubject, MessageText:=strMsg
     
    Exit_cmdEmail_Click:
        Exit Sub
     
    Err_cmdEmail_Click:
        MsgBox Err.Description
        Resume Exit_cmdEmail_Click
     
     
     
     
     
    End Sub
    Je ne sais vraiment pas comment envoyer ces deux états dans le meme mail??

    Merci

  5. #5
    Membre régulier
    Homme Profil pro
    AutoEntrepreneur Photo
    Inscrit en
    Avril 2015
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : AutoEntrepreneur Photo
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2015
    Messages : 141
    Points : 86
    Points
    86
    Par défaut
    Hello,

    Tu peux pas revoir un peu ton process?

    Etat -> PDF -> Document (emplacement PC) -> Mail

    Eventuellement, si tu veux pas les stocker tu peux rajouter -> supprimer le PDF dans le document choisis... à la fin du process.

    Enfin c'est juste une idée..

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    631
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 631
    Points : 360
    Points
    360
    Par défaut
    Pas mieux que Zkunk
    Enregistre tes états sous format pdf et c'est réglé

  7. #7
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Merci à tous les deux.

    Malheuresement cette application doit etre utilisée par d'autres utilisateurs (pas utilisateurs access) sur leurs postes. Je souhaite la rendre autonome.

    Est ce possible?

    Merci

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    631
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 631
    Points : 360
    Points
    360
    Par défaut
    Je ne suis pas sûr d'avoir compris. Cette application doit être utilisée par d'autres utilisateurs qui n'ont pas access sur leur PC ?

  9. #9
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Désolé pour le manque de précision
    Les utilisateurs sont nombreux et ne sont pas des utilisateurs Access. Si j'utilise un endroit pre-defini dans le réseau de chacun il va faloir paramétrer chaque adresse de chaque PC.
    Si chacun gère l'envoi de plusieurs pièces jointes en provenance de la base je n'ai donc pas, pour chacun d'entre eux, besoin de paramétrer les adresses ou se trouve ces deux pièces jointes.

    J'espère avoir été assez clair

  10. #10
    Membre régulier
    Homme Profil pro
    AutoEntrepreneur Photo
    Inscrit en
    Avril 2015
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : AutoEntrepreneur Photo
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2015
    Messages : 141
    Points : 86
    Points
    86
    Par défaut
    Si les utilisateurs ont Access sur leur PC, et qu'ils utilisent la même appli Access sur un réseau alors je pense qu'il ne doit pas être trop compliquer d'enregistrer un PDF à la racine de l'appli ACCESS (ou dans un Dossier "Enattente" à la racine de l'appli) de façon automatique quelque soit le poste de l'utilisateur... mais c'est peut être pas le cas, j'ai pas tout compris

  11. #11
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Le problème réside dans le fait que l'application se trouvera sur des postes chez des clients. Mon seul problème reste l'accès email qui semble etre levée (les différents services IT ont donnés leurs accors)

    par contre accéder à des espaces partagés pour eux c'est moyen!

    Vraiment pas possible d'envoyer plusieurs pièces jointes directement de access sans envoyer les pièces en temporaire avant envoi?

    Merci

  12. #12
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonsoir à tous,
    Il semblerait que mon code ne puisse pas envoyer plusieurs état, c'est le ca?

    D'avance merci

    Totor

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Effectivement, le code du style SendObject ne peux envoyer qu'un état.

    Il faut revoir l'ensemble et utiliser d'autres types de programmation comme le pilotage d'une messagerie comme Outlook ou CDO (http://access.developpez.com/faq/?pa...ailPieceAttach)

    Il y a de nombreux postes sur CDO sur le forum.

    Philippe

  14. #14
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Merci Philippe,

    Un peu compliqué pour moi!
    Je vais opter pour un deuxième bouton!!

    Merci

  15. #15
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonjour Philippe,

    Vous aviez raison!

    En effet finallement j'ai mis mes pièces jointes sur mon ordi et là j'ai cherché sur le site le moyen d'envoyer un mail avec plusieurs pieces jointes.

    Je me suis reféré à votre lien.

    Malheureusement je ne sais pas comment trouver la library "Microsoft CDO for Windows 2000 Library et Microsoft ActiveX Data Objects 2.X Library"?

    Quelle est la demarche à adopter?

    D'avance merci

  16. #16
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Je suis désolé,

    J'ai trouvé comment ajouter les library
    dans Access, database tool / visual basic / (menu tools) / references / ouverture d'une fenêtre, descendre et cocher les option voulues

    Encore désolé!

    Par contre j'ai fait un copier / coller tout bête du code que vous m'avez donné

    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
    Option Compare Database
    Option Explicit
     
    Private Sub cmdEnvoyer_Click()
    ' txtForm
        CDOSendMail txtFrom, txtTo, txtSubject, txtBody, txtAttach
        ' txtForm : Mail de l'envoyeur
        ' txtTo : Mail de destination
        ' txtSubject = Objet
        ' txtBody = contenu
        ' txtAttach = chemin complet du fichier
    End Sub
     
    Public Sub CDOSendMail(SendFrom As String, _
                           SendTo As String, _
                           Subject As String, _
                           PlainTextBody As String, _
                           FullPathFileName As String)
    Dim cdoMail As CDO.Message
    Dim iBp As CDO.IBodyPart ' for IBodyPart on message
    Dim iBp1 As CDO.IBodyPart
    Dim Flds As ADODB.Fields
    Dim Stm  As ADODB.Stream
     
        Set cdoMail = New CDO.Message
        With cdoMail
            .From = SendFrom
            .To = SendTo
            .Subject = Subject
            ''Set iBp = .BodyPart
            Set iBp = cdoMail   '??
     
            ' TEXT BODYPART
            ' Add the body part for the text/plain part of message
            Set iBp1 = iBp.AddBodyPart
     
            ' Set the fields here
            Set Flds = iBp1.Fields
            Flds("urn:schemas:mailheader:content-type") = "text/plain; charset=""iso-8859-1"""
            Flds.Update
     
            ' Get the stream and add the message
            Set Stm = iBp1.GetDecodedContentStream
            Stm.WriteText PlainTextBody
            Stm.Flush
     
            ' HTML BODYPART
            ' Do the HTML part here
            Set iBp1 = iBp.AddBodyPart
            ' Set the content-type field here
            Set Flds = iBp1.Fields
            Flds("urn:schemas:mailheader:content-type") = "text/html"
            Flds.Update
            ' Get the stream and add message HTML text to it
            Set Stm = iBp1.GetDecodedContentStream
            Stm.WriteText "<HTML><H1>this is some content for the body part object</H1></HTML>"
            Stm.Flush
     
            ' Now set the Message object's Content-Type header
            ' to multipart/alternative
            Set Flds = iBp.Fields
            Flds("urn:schemas:mailheader:content-type") = "multipart/alternative"
            Flds.Update
            .AddAttachment FullPathFileName
            .Send
        End With
    End Sub
    et quand je clic sur le bouton j'ai un message d'erreur qui s'affiche:
    "the expression On Click you entered as the event property setting produced the following error: Ambiguous name detected: cmEnvoyer_Click."

    J'ai poutant nommé mon bouton "cmdEnvoyer"
    Je ne comprends pas

    Merci

  17. #17
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut Access 2007 - Ajouter des pièces jointes à un e-mail sur click-bouton
    Bonjour à tous,

    Je reviens avec mon probleme!
    J'ai modifié mes library...

    j'ai ouvert un formulaire vierge dans lequel j'ai ajouté des champs texte:
    txtFrom pour email expéditeur
    txtTo pour email destinataire
    txtSubject pour le sujet du mail
    txtBody pour le champ corps du mail
    txtAttach dans lequel j'ai copié l'adresse ("C:\Users\xxxxxxxx\Desktop\XXXXXX.xlsx")

    J'ai copier/coller le code ci-dessous sur bouton/clic:

    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
     
    Sélectionnez
    Option Compare Database
    Option Explicit
     
    Private Sub cmdEnvoyer_Click()
    ' txtForm
        CDOSendMail txtFrom, txtTo, txtSubject, txtBody, txtAttach
        ' txtForm : Mail de l'envoyeur
        ' txtTo : Mail de destination
        ' txtSubject = Objet
        ' txtBody = contenu
        ' txtAttach = chemin complet du fichier
    End Sub
     
    Public Sub CDOSendMail(SendFrom As String, _
                           SendTo As String, _
                           Subject As String, _
                           PlainTextBody As String, _
                           FullPathFileName As String)
    Dim cdoMail As CDO.Message
    Dim iBp As CDO.IBodyPart ' for IBodyPart on message
    Dim iBp1 As CDO.IBodyPart
    Dim Flds As ADODB.Fields
    Dim Stm  As ADODB.Stream
     
        Set cdoMail = New CDO.Message
        With cdoMail
            .From = SendFrom
            .To = SendTo
            .Subject = Subject
            ''Set iBp = .BodyPart
            Set iBp = cdoMail   '??
     
            ' TEXT BODYPART
            ' Add the body part for the text/plain part of message
            Set iBp1 = iBp.AddBodyPart
     
            ' Set the fields here
            Set Flds = iBp1.Fields
            Flds("urn:schemas:mailheader:content-type") = "text/plain; charset=""iso-8859-1"""
            Flds.Update
     
            ' Get the stream and add the message
            Set Stm = iBp1.GetDecodedContentStream
            Stm.WriteText PlainTextBody
            Stm.Flush
     
            ' HTML BODYPART
            ' Do the HTML part here
            Set iBp1 = iBp.AddBodyPart
            ' Set the content-type field here
            Set Flds = iBp1.Fields
            Flds("urn:schemas:mailheader:content-type") = "text/html"
            Flds.Update
            ' Get the stream and add message HTML text to it
            Set Stm = iBp1.GetDecodedContentStream
            Stm.WriteText "<HTML><H1>this is some content for the body part object</H1></HTML>"
            Stm.Flush
     
            ' Now set the Message object's Content-Type header
            ' to multipart/alternative
            Set Flds = iBp.Fields
            Flds("urn:schemas:mailheader:content-type") = "multipart/alternative"
            Flds.Update
            .AddAttachment FullPathFileName
            .Send
        End With
    End Sub
    Quand je clique sur le bouton j'ai un message d'erreur:
    "Run-Time Error'-2147220960(80040220)':
    the "sendusing" configuration value is unvalid."
    Quand je clique sur debug, la ligne (avant avant dernière) ".Send" est highlighter en jaune.

    Je suis débutant et je ne comprends pas 90% du code que j'ai copier!
    Pourriez-vous me dire ce qui coince?

    Par avance, un grand merci à vous

Discussions similaires

  1. [XL-2010] Macro - renommer un fichier envoyé en pièce jointe dans un mail !
    Par nico2no dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/11/2014, 16h32
  2. [XI R2] Pas de pièce jointe dans des mails envoyés par BO
    Par rfr14 dans le forum Administration-Migration
    Réponses: 1
    Dernier message: 02/02/2009, 14h58
  3. Réponses: 2
    Dernier message: 12/11/2008, 14h11
  4. Réponses: 1
    Dernier message: 09/06/2008, 11h42
  5. [Mail] envoyer plusieurs pièces jointes à la fois
    Par hanafimohammed dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2007, 21h43

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