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

VBA Access Discussion :

Envoyer mail avec pièce jointe : Problème de références VBA


Sujet :

VBA Access

  1. #1
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut Envoyer mail avec pièce jointe : Problème de références VBA
    Bonjour à tous,

    Je souhaite envoyer un email avec des pièces jointes en cliquant sur un bouton dans un formulaire.

    Pour faire cela j'ai été voir dans la FAQ et j'ai trouvé ce code :

    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
    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
    a ce lien : http://access.developpez.com/faq/?pa...ailPieceAttach

    Mais j'ai un problème ...

    Lorsque j'exécute mon code, voici l'erreur qui me vient :
    Erreur de compilation : Type défini par l'utilisateur non défini.

    Lorsque je clic sur OK sur l'erreur cela me positionne à la ligne :

    Dim Stm As ADODB.Stream

    de mon code ...

    Je pense que c'est un problème de références ... est-ce que vous avez une idée ? Merci d'avance.

  2. #2
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 337
    Points : 188
    Points
    188
    Par défaut
    tu as besoin de la référence Microsoft ActiveX Data Objects 2.5 ou +

  3. #3
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Merci pour ta réponse ...

    Alors j'avais la version 2.1 qui était cochée ... j'ai mis la 2.8 et maintenant tout est ok.

    Merci beaucoup pour ton aide.

    Salutations.

    S'Noop's

  4. #4
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 337
    Points : 188
    Points
    188
    Par défaut
    mais de rien !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoyer mail avec pièce jointe
    Par mars77 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2011, 10h59
  2. [batch] envoyer mail avec pièce jointe sous dos ou telnet
    Par ritchie23 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 15/10/2008, 21h58
  3. Envoyer un mail avec pièce jointe
    Par anirose dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/11/2006, 12h45
  4. Envoyer un mail avec pièce jointe (javascript)
    Par Dorra_26 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 21/07/2006, 08h31
  5. [C++/MFC]Envoyer un mail avec Pièce jointe
    Par cjacquel dans le forum MFC
    Réponses: 4
    Dernier message: 12/06/2006, 13h48

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