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 :

Insertion d'images 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 Insertion d'images dans un mail
    Le forum bonjour
    J'ai un code, qui fonctionne très bien, pour insérer une image dans le coprs d'un mail. Malheureusement, lorsque j'essaye d'en mettre une deuxième, cela ne fonctionne pas. J'ai doublé les instructions pour la deuxième, mais il n'y a que la première image qui apparaisse.
    Voici le 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
    Set objApp = CreateObject("Outlook.Application")
    Set objApp2 = CreateObject("Outlook.Application")
     
    Set l_Msg = objApp.CreateItem(olMailItem)
    Set l_Msg2 = objApp2.CreateItem(olMailItem)
     
    Set colAttach = l_Msg.Attachments
    Set colAttach2 = l_Msg2.Attachments
     
    If Image_OK = "Oui" Then
    Set l_Attach = colAttach.Add("d:\Temp\Fichier.gif")
    End If
    If Image_OK <> "Oui" Then
    Set l_Attach = colAttach.Add(" ")
    End If
     
    l_Attach2 = colAttach2.Add("V:\DPDI\GFL\SCG-CHQ\PEXTRAIT\BASES EXCEL\BASE INCIDENTS\icone SG.jpg")
    l_Msg.Close olSave
    l_Msg2.Close olSave
     
    strEntryID = l_Msg.EntryID
    strEntryID2 = l_Msg2.EntryID
     
    Set l_Msg = Nothing
    Set l_Msg2 = Nothing
     
    Set colAttach = Nothing
    Set colAttach2 = Nothing
     
    Set l_Attach = Nothing
    Set l_Attach2 = Nothing
     
    On Error Resume Next
    Set oSession = CreateObject("MAPI.Session")
    Set oSession2 = CreateObject("MAPI.Session")
     
    oSession.Logon "", "", False, False
    oSession2.Logon "", "", False, False
     
    Set oMsg = oSession.GetMessage(strEntryID)
    Set oMsg2 = oSession2.GetMessage(strEntryID2)
     
    Set oAttachs = oMsg.Attachments
    Set oAttachs2 = oMsg2.Attachments
     
    Set oAttach = oAttachs.Item(1)
    Set oAttach2 = oAttachs.Item(1)
     
    Set colFields = oAttach.Fields
    Set colFields2 = oAttach2.Fields
     
    Set oField = colFields.Add(CdoPR_ATTACH_MIME_TAG, "image/jpeg")
    Set oField2 = colFields2.Add(CdoPR_ATTACH_MIME_TAG, "image/jpeg")
     
    Set oField = colFields.Add(&H3712001E, "myident")
    Set oField2 = colFields2.Add(&H3712001E, "myident2")
     
    oMsg.Fields.Add "{0820060000000000C000000000000046}0x8514", 11, True
    oMsg2.Fields2.Add "{0820060000000000C000000000000046}0x8514", 11, True
     
    oMsg.Update
    oMsg2.Update
     
    Set l_Msg = objApp.GetNamespace("MAPI").GetItemFromID(strEntryID)
    Set l_Msg2 = objApp.GetNamespace("MAPI").GetItemFromID(strEntryID2)
     
    strHtml = strHtml & "<IMG align=baseline border=0 hspace=0 src=cid:myident>"
    strHtml = strHtml & "<IMG align=baseline border=0 hspace=0 src=cid:myident2>"
    etc...
    l_Msg.HtmlBody = strHtml
    l_Msg.Close (olSave)
    l_Msg.display
    Quelqu'un saurait-il d'où peut provenir le problème ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Si tu veux mettre 2 images dans un mail, inutile de créer 2 applications, 2 mails, 2 collections des attachments...

    Je continue?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  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
    Bonjour

    Merci de ta réponse.

    Si je comprends bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set l_Attach = colAttach.Add("d:\Temp\Fichier.gif")
    Set l_Attach = colAttach.Add("V:\DPDI\GFL\SCG-CHQ\PEXTRAIT\BASES EXCEL\BASE INCIDENTS\icone SG.jpg")
    doit suffire.

    Est-ce cela ?

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    As-tu testé avant de poser la question?

    Si tu n'as plus besoin de te référer aux objets attachments, tu n'as pas besoin de la variable l_Attach.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    colAttach.Add("d:\Temp\Fichier.gif")
    colAttach.Add("V:\DPDI\GFL\SCG-CHQ\PEXTRAIT\BASES EXCEL\BASE INCIDENTS\icone SG.jpg")
    devrait suffire.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    Bonjour

    Je n'en suis pas sûr, mais pour insérer une image dans un mail, il faut que le lien soit disponible. Or tes images sont sur ton disque dur et le destinataire n'y est pas connecté.

    Encore une fois, je n'en suis pas sûr. Je n'utilise pas outlook par vba. Je préfère la méthode avec la librairie CDO, et pour les images je les dépose sur un compte perso en ligne et j'inscris le lien sur le mail.

    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  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
    Merci Alain, effectivement, la vatiable l_Attach ne me sert à rien.
    Néanmoins, lorsque je mets le code comme tu me l'as préconisé, ma première image se met bien dans le corps du mail, mais la deuxième se met en Pièce Jointe, ce qui ne me sert à rien.
    Je ne vois pas quelle est instruction qui va me permettre de mette celle-ci où je veux dans mon mail.

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

Discussions similaires

  1. [MySQL] Insertion d'image dans une base de données
    Par dragonfly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2006, 14h59
  2. Image dans un mail
    Par krfa1 dans le forum ASP
    Réponses: 2
    Dernier message: 05/12/2005, 09h38
  3. [Mail] Faire figurer des images dans un mail
    Par JeanMi66 dans le forum Langage
    Réponses: 4
    Dernier message: 04/12/2005, 22h49
  4. [JTable] Insertion d'images dans la première colonne
    Par cocolepelo dans le forum Composants
    Réponses: 2
    Dernier message: 29/11/2005, 15h17
  5. [Librairies] Inclusion d'images dans un mail
    Par peck dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 28/11/2005, 09h46

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