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

Macros et VBA Excel Discussion :

Rajout de pièce jointe dans un mail


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut Rajout de pièce jointe dans un mail
    Le Forum bonjour

    J'ai un code dans Excel qui me permet d'insérer un tableau au milieu de mon texte dans un mail. Cela fonctionne très bien, mais je ne trouve pas ce qui me manque pour joindre en plus une pièce jointe; soit cela ne fait rien, soit les deux sont en pièce jointe. Dans le cas précis, "Attachments.Add (Chemin_Fichier_en_PJ)", cela ne fait rien.
    Voici mon 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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    '----------------------------------------------------
    '
    ' Il faut activer la référence : (dans Outils/Références)
    ' Microsoft CDO X.XX Library
    ' Microsoft Outlook X.XX Object Library
    '
    '----------------------------------------------------
     
    Sub EmbeddedHTMLGraphicDemo()
      ' Outlook objects
      Dim objApp As Outlook.Application
      Dim l_Msg As MailItem
      Dim colAttach As Outlook.Attachments
      Dim l_Attach As Outlook.Attachment
      Dim oSession As MAPI.Session
      ' CDO objects
      Dim oMsg As MAPI.Message
      Dim oAttachs As MAPI.Attachments
      Dim oAttach As MAPI.Attachment
      Dim colFields As MAPI.Fields
      Dim oField As MAPI.Field
     
      Dim strEntryID As String
      Dim strHtml As String
     
    'Appel de la fonction pour la crétion de l'image dans le répertoire c:\Temp
     
    Image
    Chemin_Fichier_en_PJ = Sheets("Destinataires").Range("cc1").Value
       ' create new Outlook MailItem
      Set objApp = CreateObject("Outlook.Application")
      Set l_Msg = objApp.CreateItem(olMailItem)
      Set colAttach = l_Msg.Attachments
      Set l_Attach = colAttach.Add("d:\Temp\test.gif")
      l_Msg.Close olSave
      strEntryID = l_Msg.EntryID
      Set l_Msg = Nothing
      Set colAttach = Nothing
      Set l_Attach = Nothing
     
      ' initialize CDO session
      On Error Resume Next
      Set oSession = CreateObject("MAPI.Session")
      oSession.Logon "", "", False, False
      Set oMsg = oSession.GetMessage(strEntryID)
      Set oAttachs = oMsg.Attachments
      Set oAttach = oAttachs.Item(1)
      Set colFields = oAttach.Fields
      Set oField = colFields.Add(CdoPR_ATTACH_MIME_TAG, "image/jpeg")
      Set oField = colFields.Add(&H3712001E, "myident")
      oMsg.Fields.Add "{0820060000000000C000000000000046}0x8514", 11, True
      oMsg.Update
      Set l_Msg = objApp.GetNamespace("MAPI").GetItemFromID(strEntryID)
     
    strHtml = "Bonjour, <BR><BR>"
    strHtml = strHtml & "Pouvez-vous me faire un retour concernant XXXXXXX ?"
    strHtml = strHtml & "<BR><BR>"
    strHtml = strHtml & "<IMG align=baseline border=0 hspace=0 src=cid:myident>"
    strHtml = strHtml & "<BR><BR>" & _
    "Cordialement," & "<BR><BR>"
    strHtml = strHtml & "<B><font style='font-family: Arial ;font-size: 10pt ;' color=midnightblue>XXXXXXXXXX</Font></B>" & "<BR>"
    strHtml = strHtml & "<font style='font-family: Arial ;font-size: 10pt ;' color=midnightblue>XXXXXXXXXXXXXXXX</Font>" & "<BR>"
    strHtml = strHtml & "<font style='font-family: Arial ;font-size: 10pt ;' color=midnightblue>XXXXXXXXXXX</Font>" & "<BR>"
    strHtml = strHtml & "<font style='font-fa"
     
    Attachments.Add (Chemin_Fichier_en_PJ)
     
      l_Msg.HtmlBody = strHtml
      l_Msg.Close (olSave)
      l_Msg.display
      l_Msg.To = "toto@orange.fr"
      l_Msg.Send
      ' clean up objects
      Set oField = Nothing
      Set colFields = Nothing
      Set oMsg = Nothing
      oSession.Logoff
      Set oSession = Nothing
      Set objApp = Nothing
      Set l_Msg = Nothing
     
    End Sub
    Sub Image()
    Dim Plage As Range
    On Error Resume Next
    MkDir "D:\Temp"
    Set Plage = Sheets("Liste de Choix").Range("B1:C16")
    Application.ScreenUpdating = False
    Workbooks.Add: Plage.CopyPicture: ActiveSheet.Paste
    With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
    .Paste
    .Export "D:\Temp\Test.gif", "GIF"
    End With
    ActiveWorkbook.Close False
    End Sub
    L'un de vous aurait-il une idée ? Merci d'avance

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  3. #3
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    merci kiki29, mais je ne vois pas, par rapport à mon code, où mettre une instruction pour joindre un fichier à mon mail.

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Dans tes initialisation d'objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oAttachs = oMsg.Attachments
    Plus loin dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Attachments.Add (Chemin_Fichier_en_PJ)
    Attachments dans ton 2eme code n'est raccroché à aucun objet, il me semble logique (je n'ai pas testé) que ca ne fonctionne pas, tu as déclaré oAttachs qui lui est lié a oMsg.Attachments (la collection des pièces jointe de ton message), pourquoi tu ne l'utilises pas?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oAttachs.add Chemin_Fichier_en_PJ
    Si ça ne fonctionne pas essai de regarder si l_Msg n'a pas un objet Attachments qui lui est lié.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    Bonjour Qwazerty, le Forum

    Cela ne fonctionne pas.
    Effectivement, je pense que l_Msg a un objet Attachments qui lui est lié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set l_Attach = colAttach.Add("d:\Temp\test.gif")
    qui est le tableau à insérer dans le corps de mon mail.

    j'ai bien testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oAttachs.add Chemin_Fichier_en_PJ
    cela ne change rien à mon problème.

    Le test.gif s'intercale bien dans mon mail, mais la pièce que je voudrais joindre est ignorée.

  6. #6
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    Ca y est, j'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l_Msg.Attachments.Add (Chemin_Fichier_en_PJ)
    merci à tous
    Bonne journée

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

Discussions similaires

  1. [eZ Publish] Feedback Form avec Upload et pièce jointe dans un mail
    Par Pietr_Alekseievitch dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/01/2009, 11h29
  2. Extraction de pièce jointe dans un mail en LC
    Par mrfred dans le forum Linux
    Réponses: 2
    Dernier message: 13/11/2008, 16h42
  3. Réponses: 2
    Dernier message: 12/11/2008, 15h11
  4. Réponses: 1
    Dernier message: 09/06/2008, 12h42
  5. Renommer une pièce jointe dans un mail.
    Par gregb34 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/09/2007, 13h55

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