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 :

Envoi pièces attachées avec OutLook [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 956
    Points : 1 139
    Points
    1 139
    Par défaut Envoi pièces attachées avec OutLook
    Bonjour forum !

    Je suis en charge d'une application destinée à faire un emailing à partir de données Excel liées dans une base Access. Cet emailing doit se faire à partir de modèles de mails pré-existants.

    Dans ma procédure d'envoi en masse, je parcours donc un recordset des contacts sélectionnés par un booléen et crée à chaque itération, un email à partir du modèle sélectionné.
    Tout se passe bien (y-compris l'envoi) si je ne gère pas les pièces jointes, par contre, si j'attache des pièces jointes, j'obtiens l'erreur 438: "Propriété ou méthode non gérée par cet objet" lors du Attachements.Add en ligne 47 dans mon code ci-dessous.

    Je précise que je soupçonne mon Late-Binding et la "procédure Friend". Ai-je merdé dans sa déclaration?

    Mes références déclarées:
    Nom : Cap1.PNG
Affichages : 54
Taille : 19,2 Ko

    Ma procédure d'envoi:

    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
    Sub MassSendEmails()
        Dim strSQLContacts As String, rstContacts As Recordset
        Dim leChamp As String, ValChamp As String, NomChamp As String
        Dim strSQLChp As String, rstChamps As Recordset
        Dim appOutlook As Object, intCpt As Long, splitAttached
        Dim oEmail As Object, ModeleLeCorps As String
     
        On Error GoTo ErrMan
     
        'Parcourt les contacts sélectionnés
        strSQLContacts = "SELECT TMP_Contacts.[E-mail] AS [Adresse email], TMP_Contacts.[Agence DSL], TMP_Contacts.[Commercial agence DSL], TMP_Contacts.[Date rendez-vous 1] AS [Date RDV 1], TMP_Contacts.[Date de rendez-vous 2] AS [Date RDV 2], TMP_Contacts.[Email Commercial DSL], TMP_Contacts.NOM, TMP_Contacts.Prénom, TMP_Contacts.[Nom de la société] AS Société, TMP_Contacts.Titre FROM TMP_Contacts WHERE TMP_Contacts.Sel=-1 ;"
        Set rstContacts = CurrentDb.OpenRecordset(strSQLContacts)
     
        'Parcourt les champs
        strSQLChp = "SELECT T_Champs.CHPNom From T_Champs;"
        Set rstChamps = CurrentDb.OpenRecordset(strSQLChp)
     
        'Ouvre le modèle d'eMail
        Set appOutlook = CreateObject("Outlook.Application")
        Set oEmail = appOutlook.CreateItemFromTemplate(Forms!F_ParamEmailing!ModelOFT)
        DoEvents
     
        'Remplace les valeurs et envoi de mail
        With rstContacts
            Do While .EOF = 0
                ModeleLeCorps = oEmail.HTMLBody
                With rstChamps
                    rstChamps.MoveFirst
                    Do While .EOF = 0
                        leChamp = "<" & !CHPNom & ">"
                        NomChamp = !CHPNom
                        ModeleLeCorps = Replace(ModeleLeCorps, leChamp, Nz(rstContacts("[" & NomChamp & "]"), ""))
                        .MoveNext
                    Loop
                End With
                ''''''''''''''''''''''''''''''''''''''''''
                'Envoi de l'email'''''''''''''''''''''''''
                ''''''''''''''''''''''''''''''''''''''''''
                intCpt = 0
                splitAttached = Split(Forms!F_ParamEmailing!Attached, ";")
                With oEmail
                    .To = Nz(rstContacts("[" & "Adresse email" & "]"), "")
                    .Subject = Forms!F_ParamEmailing!leSujet
                    .BodyFormat = 2
                    .HTMLBody = ModeleLeCorps
                    For intCpt = 0 To UBound(splitAttached)
                        .Attachements.Add "C:\Users\richa\Pictures\MeBlacknWhite.png"    'splitAttached(intCpt)
                    Next
                    .Send
                End With
                ''''''''''''''''''''''''''''''''''''''''''
                .MoveNext
            Loop
            rstChamps.Close
            rstContacts.Close
        End With
    Fin:
        'Libère les ressources
        Set oEmail = Nothing
        Set appOutlook = Nothing
        Exit Sub
    ErrMan:
        MsgBox (Error(Err))
        Resume Fin
    End Sub
    Merci de vos lumières car, là, malgré mes recherches, je n'ai plus trop de billes !
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  2. #2
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 956
    Points : 1 139
    Points
    1 139
    Par défaut Envoi pièces attachées avec OutLook
    OK, les gars, y'en a 2 qui suivent... Mais j'ai les noms !!!

    Ligne 47 c'était Attachments (et non Attachements...)


    Pffff! je suis une quiche !
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

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

Discussions similaires

  1. [XL-2013] Envoi mail avec fichier attaché avec Outlook
    Par licpegpon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/06/2019, 17h19
  2. ACCESS 97 Envoi piece jointe avec outlook express
    Par GIPPE dans le forum VBA Access
    Réponses: 6
    Dernier message: 11/03/2008, 10h11
  3. [Automation][VBA]Envoi d'email avec Outlook
    Par andy292929 dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/04/2007, 10h04
  4. Envoi de mail avec Outlook
    Par lolo_bob2 dans le forum Access
    Réponses: 5
    Dernier message: 31/05/2006, 13h30
  5. Envoi E-mail avec Outlook Express
    Par chim33 dans le forum Access
    Réponses: 6
    Dernier message: 24/12/2005, 17h14

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