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 :

Mail avec image/photo


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 94
    Points : 52
    Points
    52
    Par défaut Mail avec image/photo
    Bonsoir a tous !
    j'ai jeté un oeil sur l'automatisation d'envoie de mail, avec lien internet, en html, mais rien sur l'incorporation d'image dans le contenu du mail. C'est toujours en pièce jointe.

    N'y a t'il pas moyen d'utiliser cette pièce jointe pour égaïer le contenu du mail?

    cette page :Tutoriels montre comment faire du corps d'un mail une page web, alors sur cette base, peut on y joindre une image ?


    J'essaie ce code, mais biensur, ca fonctionne pas !
    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
    Sub htmlmail()
    Dim iMsg As Object, iConf As Object
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Dim BODY As String
    Dim Fichier As Variant
    Dim NomFich1
    Dim Chemin
    Chemin = ThisWorkbook.Path
        NomFich1 = "image001.jpg"
    Fichier1 = Chemin & "\test_mail_html_fichiers\" & NomFich1
        If Fichier1 = False Then Exit Sub
    BODY = BODY & "<head>"
    BODY = BODY & "<title>Ceci est mon titre</title>"
    BODY = BODY & "</head>"
    BODY = BODY & "<body>"
    BODY = BODY & "<p>Ceci est mon text.</p>"
    BODY = BODY & "<p >Il doit y avoir une image en dessous.</p>"
    BODY = BODY & "<p>&nbsp;</p>"
    BODY = BODY & "<p>Je voudrais que ce soit plus sympa.</p>"
    BODY = BODY & "<p>"
    BODY = BODY & "<img width=604 height=453 src=" & NomFich1 & "></p>"
    BODY = BODY & "<p>&nbsp;</p>"
    BODY = BODY & "<p>c’est réussi.</p>"
    BODY = BODY & "<p>&nbsp;</p>"
    BODY = BODY & "<p>Bonne réception</p>"
    BODY = BODY & "<p>&nbsp;</p>"
    BODY = BODY & "<p>yahi</p>"
    BODY = BODY & "</div>"
    BODY = BODY & "</body>"
    With iMsg
        Set .Configuration = iConf
        .To = "mail@fournisseur.fr" 'Renvoie une erreur si l'adresse est non valide
        '.From = "youralias@yourdomain.com"
        .Subject = "Test Envoi Page Web par mail avec photo"
        .HTMLBody = BODY
        .AddAttachment Fichier1
        .Send
    End With
    End Sub
    Avis aux amateurs de résolutions !

    merci.

    yahi

  2. #2
    Membre régulier
    Avatar de wape
    Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    Tu peux t'inspirer de ce petit exemple :

    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
    Sub Send_Mail()
     
    Dim oOlApp As Object
    Dim oOlItm As Object
     
    Dim sFile As String
    Dim sBody As String
     
    sFile = "C:\Mes images\Mon image.jpg" '<-- Chemin complet du fichier contenant l'image
     
    sBody = sBody & "<body>"
    sBody = sBody & "<p>L'image se trouve ci-dessous</p>"
    sBody = sBody & "<p>&nbsp;</p>"
    sBody = sBody & "<img src=""" & sFile & """ width=604 height=453>"
    sBody = sBody & "<p>&nbsp;</p>"
    sBody = sBody & "</body>"
     
    Set oOlApp = CreateObject("Outlook.Application")
    Set oOlItm = oOlApp.CreateItem(0) '0:olMailItem
     
    With oOlItm
       .To = "toto@quelquepart.com"
       .Subject = "Test mail avec image"
       .BodyFormat = 2 '2:olFormatHTML
       .HTMLBody = sBody
       .Display '<-- Afficher le mail (remplacer .Display par .Send pour l'envoyer)
       '.Send
    End With
     
    End Sub
    wape

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 94
    Points : 52
    Points
    52
    Par défaut
    Ca a l'aire de fonctionner mais avec outlook. Pas avec outlook express. en plus ca demande de cliquer sur oui. je sais qu'il existe un logiciel pour mais, j'utilise pas oultlook. D'ou l'utilisation de CDO.
    C'est donc pas ca que je désirai, mais si y a po le choix, je ferai avec.

    yahi

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 94
    Points : 52
    Points
    52
    Par défaut
    je donne pas l'adresse de "yesclick" ca se retrouve tout seul, par contre je donne le code pour le faire fonctionner :

    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
     ' Declare Windows' API functions
    Private Declare Function RegisterWindowMessage _
            Lib "user32" Alias "RegisterWindowMessageA" _
            (ByVal lpString As String) As Long
     
    Private Declare Function FindWindow Lib "user32" _
            Alias "FindWindowA" (ByVal lpClassName As Any, _
            ByVal lpWindowName As Any) As Long
     
    Private Declare Function SendMessage Lib "user32" _
            Alias "SendMessageA" (ByVal hwnd As Long, _
            ByVal wMsg As Long, ByVal wParam As Long, _
            lParam As Any) As Long
     
    Private Sub SomeProc()
    Dim wnd As Long
    Dim uClickYes As Long
    Dim Res As Long
     
    ' Register a message to send
    uClickYes = RegisterWindowMessage("CLICKYES_SUSPEND_RESUME")
     
    ' Find ClickYes Window by classname
    wnd = FindWindow("EXCLICKYES_WND", 0&)
     
    ' Send the message to Resume ClickYes
    Res = SendMessage(wnd, uClickYes, 1, 0)
     
    ' ...
    ' mettre l'action a faire 
    ' ...
     
    ' Send the message to Suspend ClickYes
    Res = SendMessage(wnd, uClickYes, 0, 0)
     
    End Sub
    si pas d'autre solution, j'utiliserai ca !

    yahi

Discussions similaires

  1. [AC-2003] [Lotus] Envoi de mail avec images
    Par Kloun dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/06/2009, 07h36
  2. [SP-2007] Envoye mail avec image
    Par djo_matrix dans le forum SharePoint
    Réponses: 0
    Dernier message: 26/05/2009, 17h44
  3. [Mail] Envoyer un e-mail avec images incorporées
    Par guigo dans le forum Langage
    Réponses: 6
    Dernier message: 24/01/2008, 16h42
  4. [Mail] Envoi d'e-mail avec image de fond
    Par mimagyc dans le forum Langage
    Réponses: 4
    Dernier message: 19/12/2007, 20h58
  5. Envoyer un mail avec des photos
    Par maverick91 dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/07/2007, 01h17

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