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 :

Copier une image et la rajouter dans le corps d'un mail


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 41
    Par défaut Copier une image et la rajouter dans le corps d'un mail
    j'ai un deux onglets feuil1 et feuil 2. la feuil 1 contient des données avec une colonne où j'ai des mails. j'ai ma feuil 2 qui contient le corps du texte avec plusieurs images à l'intérieur. Dans ma macro je lui dis de parcourir la feuil 2 dans la colonne A tu récupères le corps du message et tu envoi un mail à chaque destinataire. J'arrive à envoyer le mail mais les images ne sont pas présentes dans le corps du mail. voici le code. Merci d'avance si vous aviez des suggestions.
    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
    Sub Mail(ByVal MailDestinataire As String, ByVal MailCC As String, ByVal Sujet As String, ByVal CorpsMessage As String, _
    ByVal FichierJoint As String, Optional ByVal FichierJoint2 As String, Optional ByVal FichierJoint3 As String)
     
    OnErrorGoToGerreur
     
    DimolAsNewOutlook.Application
    DimolmailAsMailItem
     
    'envoie d'un e-mail
    Set ol = NewOutlook.Application
    Set olmail = ol.CreateItem(olMailItem)
    With olmail
    .To = MailDestinataire
          .CC = MailCC
    .Subject = Sujet
    .Body = CorpsMessage
     
    If FichierJoint <> "" Then
    .Attachments.Add FichierJoint
    End If
    If FichierJoint2 <> "" Then
    .Attachments.Add FichierJoint2
    End If
    If FichierJoint3 <> "" Then
    .Attachments.Add FichierJoint3
    End If
     
    .Display
     
     
    .Send
     
    EndWith
    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
    Sub SendM()
     
    Dim titre As String
    Dim corpsM As String
    Dim j As Integer
     
    corpsM = ""
    j = 2
    While (j <= 100)
        corpsM = corpsM + Sheets("feuil2").Range("A" & j).Value
        corpsM = corpsM + vbCrLf
        j = j + 1
    Wend
     
     
     
    titre = "facture"
     
    j = 2
    While (j <= 1000)
        If Sheets("feuil1").Range("B" & j).Value <> "" Then
            Mail Sheets("feuil1").Range("B" & j).Value, "", titre, replaceString(corpsM, j), "", "", ""
        End If
        j = j + 1
    Wend
     
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    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
    Sub Mail(ByVal MailDestinataire As String, ByVal MailCC As String, ByVal Sujet As String, ByVal CorpsMessage As String, Optional ByVal Pj As String, Optional ByVal Image As String)
    Dim ol As New Outlook.Application, olmail As MailItem, I As Integer, Attachement
    'envoie d'un e-mail
    Set ol = New Outlook.Application
    Set olmail = ol.CreateItem(olMailItem)
    With olmail
        .To = MailDestinataire
        .CC = MailCC
        .Subject = Sujet
        .BodyHtml = CorpsMessage
        Attachement = Split(Pj & ";", ";")
        For I = 0 To UBound(Attachement)
           If Trim("" & Attachement(I)) <> "" Then .Attachments.Add Attachement(I)
        Next
        Attachement = Split(Image & ";", ";")
        For I = 0 To UBound(Attachement)
           If Trim("" & Attachement(I)) <> "" Then .Attachments.Add Attachement(I)
        Next
        .Display
        .Send
    End With
    End Sub
     
    Sub test()
     Mail Sheets("feuil1").Range("B" & j).Value, "", titre, "<img src=""cid:Img1.gif""><img src=""cid:Img12.gif"">", "Fichier1;Fichier2;Fichier3;Fichier4;Fichier5;Fichier1;Fichier6", "Image1.gif;Image2.jif"
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 41
    Par défaut
    Bonjour,

    Merci de m'avoir repondu. C'est gentille de ta part mais j'aimerais bien comprendre le code. le sub test est ce qu'il faut que je rajoute à mon code sub send ou il faut juste remplacer la ligne de code du sub test dans mon sub send ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    c'est presque le même sauf que je concatène les pièce jointes séparé par un ;:

    je me rends comte la propriété image tu n'en as pas besoin, et que en réalité ton code est presque bon, saut que tu envois en texte et pas en html!

    Code Sub SendM : Sélectionner tout - Visualiser dans une fenêtre à part
    "<img src=""cid:Img1.gif""><img src=""cid:Img12.gif"">"
    Code Sub Mail : Sélectionner tout - Visualiser dans une fenêtre à part
    .BodyHtml = CorpsMessage

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 41
    Par défaut
    merci, donc en rajoutant .htmlbody mon code qui consiste à récupérer les valeurs contenues dans la feuil2 même avec les images apparaitront dans le corps du mail?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui et non!

    Il faut écrire ton message au format Html pas en texte pour lui insérer les image.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Ceci est mon message <br>Première image:<img src=""cid:Img1.gif""><br>deuxième image:<img src=""cid:Img12.gif"">"
    et joindre les images en pièces jointes!
    Dernière modification par AlainTech ; 14/03/2016 à 20h53. Motif: Suppression de la citation inutile

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

Discussions similaires

  1. copier une image du presse papier dans un flash ?
    Par Fritzoune dans le forum Flash
    Réponses: 1
    Dernier message: 17/03/2010, 12h32
  2. [VBA-E] Copier une image dans un fichier word
    Par Vince_93700 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 09/05/2007, 09h12
  3. Réponses: 3
    Dernier message: 30/10/2006, 11h21
  4. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54
  5. Copier une image (jpeg) dans le presse papier
    Par benj63 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/07/2002, 14h51

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