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 :

afficher image avec .htmlbody en vba hors outlook


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut afficher image avec .htmlbody en vba hors outlook
    Bonjour,

    je donne ma langue au chat...
    j'ai utilise le code suivant :


    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
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
     Private Sub CommandButton101_Click()
     
     Dim Ws As Worksheet
     Dim ob As Object
     Dim Pieces, Adresse, ClasseurActif
     Dim OL As Object
     Dim OLmail As Object
     Dim Texte As String
     
     
     Sheets("contact").Select
     totalcontact = 1
     Do
     totalcontact = totalcontact + 1
     Loop Until (Range("A" & totalcontact) = "")
     
     
     
     Application.ScreenUpdating = False
     progression = 0
     
     nbcontact = 1
     Do
     nbcontact = nbcontact + 1
     labelprogession = nbcontact / totalcontact * 100
     progression = 200 * labelprogession / 100
     prenom = Sheets("contact").Range("A" & nbcontact).Value
     Nom = Sheets("contact").Range("B" & nbcontact).Value
     Adresse = Sheets("contact").Range("C" & nbcontact).Value
     
     
     Image_barre.Width = progression
     Label_barre.Caption = labelprogession & "%"
     DoEvents
     
     Application.ScreenUpdating = True
     
     
     
     'envoi du mail
     On Error Resume Next
    Set OL = CreateObject("Outlook.Application") Set OLmail = OL.CreateItem(olMailItem) '0
     
     'enléve les messages d'alerte
     Application.DisplayAlerts = False
     'remet les messages d'alerte
     Application.DisplayAlerts = True
     'réactive le rafraichissement de l'écran
     Application.ScreenUpdating = True
     
     
     ' Adresse = "guil.pothier@gmail.com" 'pour exemple
     
     With OLmail
     .From = "guillaumepothier@hotmail.com"
     .To = Adresse
     .BodyFormat = olFormatHTML
     .Subject = "HMTL BODY du " & Date
     
     
     
     ' debut du message html
     Const SAUTLIGNE = "<br/>"
     
     
     
     .HTMLBody = "<body>"
     
     img1 = "1-4.jpg"
     img2 = "2-4.jpg"
     img3 = "3-4.jpg"
     img4 = "4-4.jpg"
     
     .Attachments.Add ThisWorkbook.Path & "\" & "1-4.jpg", olByValue, 0
     .Attachments.Add ThisWorkbook.Path & "\" & "2-4.jpg", olByValue, 0
     .Attachments.Add ThisWorkbook.Path & "\" & "3-4.jpg", olByValue, 0
     .Attachments.Add ThisWorkbook.Path & "\" & "4-4.jpg", olByValue, 0
     
     
     
     'Ecrit bonjour en gras, calibri, taille 40
     .HTMLBody = .HTMLBody & "<font face=""calibri"" size =""40"" color=""black""> hello <b>Bonjour ! " & prenom & " " & Nom & "</b></font>"
     'Saute deux lignes
     .HTMLBody = .HTMLBody & SAUTLIGNE & SAUTLIGNE
     'Ecrit le reste de l'entete
     
     .HTMLBody = .HTMLBody & SAUTLIGNE & SAUTLIGNE
     .HTMLBody = .HTMLBody & "<div align='center'><table>"
     .HTMLBody = .HTMLBody & "<tr>"
     .HTMLBody = .HTMLBody & "<td valign='middle'><b>test : <input type='text'>Ligne 1 - cols 1</input></b></td>"
     .HTMLBody = .HTMLBody & "<td valign='middle'><b><img src='" & img1 & "'>"
     .HTMLBody = .HTMLBody & "Ligne 1 - cols 2</b></td>"
     .HTMLBody = .HTMLBody & "<td valign='middle'><b><img src='" & img2 & "'>"
     .HTMLBody = .HTMLBody & "Ligne 1 - cols 3</b></td>"
     .HTMLBody = .HTMLBody & "</tr>"
     
     .HTMLBody = .HTMLBody & "<tr>"
     .HTMLBody = .HTMLBody & "<td valign='middle'><b><img src='" & img3 & "'>"
     .HTMLBody = .HTMLBody & "Ligne 2 - cols 1</b></td>"
     .HTMLBody = .HTMLBody & "<td valign='middle'><b><img src='" & img4 & "'>"
     .HTMLBody = .HTMLBody & "Ligne 2 - cols 2</b></td>"
     .HTMLBody = .HTMLBody & "<td valign='middle'><b>Ligne 2 - cols 3</b></td>"
     .HTMLBody = .HTMLBody & "</tr>"
     
     .HTMLBody = .HTMLBody & "</table></div>"
     
     .HTMLBody = .HTMLBody & "</body>"
     
     
     '.Display
     .Save
     .Send 'envoi automatique
     
     End With
     
     
     Loop Until (Range("A" & nbcontact) = "")
     
     
     End Sub
    et ca marche..... uniquement sur Outlook.... mais pas sur Hotmail ou courrier ou gmail !!!!
    Les images ne s'affichent pas... et le input text uniquement sur Gmail...

    Nom : look.jpg
Affichages : 2005
Taille : 35,6 Ko



    Comment résoudre ces problèmes ?
    Merci.
    Guillaume.

  2. #2
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut bien chef !
    j'ai bien l'impression que je vais devoir m'orienter vers CDO, mais là suis perdu.
    N'y-aurait-il pas un tuto ?

    Merci.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Je ne pense pas que le problème soit résolu par cdo, mais par la réduction du poids de l'image!

    https://www.developpez.net/forums/d1...t/#post7968025

  4. #4
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut ce serait surprenant
    mes images ne pèsent que 4ko.

    le problème , c'est l'affichage des images dans Gmail

    Nom : look-gmail.jpg
Affichages : 1981
Taille : 44,4 Ko


    l'input text est ok mais pas d'images.
    sur Outlook, je vois les images mais pas l'input text

  5. #5
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut une question de quote non
    encore une histoire de " ' / "" \ "'", non ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut sur COURRIER ca donne ca...
    Nom : look-courrier.jpg
Affichages : 1984
Taille : 60,4 Ko

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    bonsoir

    a ne pas confondre addattachment et AddRelatedBodyPart
    pour le premier selon les niveau de compression des images l'application mail va interpréter c'est tres aléatoire
    on les retrouvera dans le body ou pas
    par contre !!!!!
    pour le 2d c'est plus precis au niveau du mime en sortie et donc bien inclus dans le body avec les parametres que tu a donné dans le body

    par contre a ma connaissance au niveau du codage HTML du body cela n'est pas géré en VBA POUR OUTLOOK
    SEULEMENT CDO
    avec outlook on peut seulement mettre des images mais pas organisées dans le document
    et la selon encore une fois selon l'application que tu utilise et le serveur hébergeur tu pourra trouver tes images avant ou après le texte ou mélangé n'importe comment

    voila voila


    cdo mon ami

    Je ne pense pas que le problème soit résolu par cdo, mais par la réduction du poids de l'image!
    rohhrrrr!!!!!
    allons robert
    j'ai déjà donné la fonction complète plusieurs fois
    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

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour le forum et bonjour Patrick,
    rohhrrrr!!!!! allons robert
    j'ai déjà donné la fonction complète plusieurs fois
    Oui mais quand je suis devant mon ordinateur je donne des solutions, mais là sur mon téléphone je donne des pistes!

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut
    re
    Bonjour Robert t'inquiet je plaisante
    en tout et pour tout pour ce qu'il veut faire la méthode Outlook est a proscrire
    le mime de Outlook est particulier

    c'est l'adressage du src des images qui ne se fait pas correctement j'ai tout tenté a ce jour rien y fait
    tandis qu'avec CDO l'adressage avec addrelatedbodypart se fait correctement
    c'est pour ca que je m'étais tourner vers cet Object"CDO" depuis pas mal d'années déjà

    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
    Function SendMail()
        Set oEmail = CreateObject("CDO.Message")
        'configure message
        With oEmail.Configuration.Fields
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = serveursmtp
            If serveursmtp = "smtp.gmail.com" Then    ' option  si on utilise gmail.com pour envoyer et non le serveur smtp de son  FAI
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "emetteur mail"
                .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mot de passe"
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587    'stmp server port changer le numero si necessaire
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
            End If
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Update
        End With
        'preparation du message
        With oEmail
            .To = destinataire    ' mettre l'adresse ou les adresses du ou des destinataires si il y en a plusieurs les separer par un point virgule
            .From = emetteur    ' mettre l'adresse de l'emetteur
            .Subject = titre_du_mail    ' c'est plus qu'explicite pas la peine de commenter
            'maintenant le body html ahh!! en voila tout une histoire !!!
            code = "<h1> Bonjour voici quelques images<h1>"
            code = code & "</BR>"
            'code =code &  le reste de ton code html avec tes tables et images et tout i cointi  ici a la suite
            '********************************************************************************************
            '********************************************************************************************
            ' ATENTION!!!! si tu a des images dans des balises TD fait attention que ces balises TD aient été dimentionnées DANS LE CODE HTML sinon ta table sera déformée comme dans un document html d'ailleurs
            'exemple <td"style=""width:150px;height:150px;""><img style="" width:""100% ;height:100%;"" src=""blablablabla""></img> </td>"
            '*********************************************************************************************
            '*********************************************************************************************
            ' Maintenant on va préparer les addrelatedbodypart !!!!!!!!!!!!!!!!
            With CreateObject("htmlfile")
                .body.innerhtml = code
                Set mesimages = .getelementsbytagname("img")    ' on recupere tout les src des images
                For i = 0 To mesimages.Length - 1
                    Set objBP = oEmail.AddRelatedBodyPart(mesimages(i).src, "balloon" & i, 1)    ' on les attaches en tant qu'element du body et non en atachement pieces jointes
                    mesimages(i).src = "cid:balloon" & i & ".bmp"    ' on remplace le src du fichier par le lien du bodyrelatedpart
                    objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<balloon" & i & ".bmp>"    ' on  valise l'attachement bodypart
                    objBP.Fields.Update    ' on  valide pour le upload
                End If
            Next
            a = 0
            '************************************************************************************************
            oEmail.HTMLBody = .body.innerhtml    ' on met le code html transformé dans le body
        End With
        'on ajoute ici des piece jointe si on veut
        .AddAttachment "trucmachinchouette.txt" ' url du fichier sur ton disque dur
        .AddAttachment "trucmachinbidule.pdf" 'url du fichier sur ton disque dur
     
     
        'allez c'est parti on envoie !!!!!
        On Error GoTo gestioneerr
        oEmail.Send
        MsgBox "message envoyé"
        Exit Function
    gestioneerr:
        MsgBox "Echec transmission:" & Err.Description
    End Function
    ' il est tant d'aller boire un café
    ' 1 sucre SVP!!!!!
    voila voila
    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

  10. #10
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut connexion CDO
    bonjour à toi, je te remercie grandement pour ton aide si précieuse.
    j'ai bien pris en compte tes remarques.
    utiliser smtp.live ou smtp.gmail, je m'en doutais ne m'apporte que des problèmes.
    et me donne un joli petit message d'erreur...

    avec le port 25 et Hotmail ou Gmail :
    Nom : erreur.jpg
Affichages : 1980
Taille : 24,0 Ko

    avec le port 465 et Hotmail ou Gmail :
    Nom : erreur1.jpg
Affichages : 1954
Taille : 24,4 Ko

    peut-être, je n'en suis pas loin, peut-être pas, sinon j'ai SFR comme FAI, est-ce mieux ?

    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
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
     
    Private Sub CommandButton101_Click()
     
     
     
    Dim iMsg As Object, iConf As Object, Flds As Object
    Set iMsg = CreateObject("cdo.message")
    Set iConf = CreateObject("cdo.configuration")
     
    Set Flds = iConf.Fields
    With Flds ' pour Gmail ou hotmail
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Sheets("serveur").Range("A2").Value
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = Sheets("serveur").Range("B2").Value
                .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Sheets("serveur").Range("C2").Value
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25   'stmp server port changer le numero si necessaire
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False   'Use SSL for the connection (False or True)
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
     
        .Update
    End With
     
     
    With iMsg
        Set .Configuration = iConf
     
    ' do
     
    Sheets("contact").Select
    totalcontact = 1
    Do
    totalcontact = totalcontact + 1
    Loop Until (Range("A" & totalcontact) = "")
     
     
     
        Application.ScreenUpdating = False
        progression = 0
     
    nbcontact = 1
    Do
    nbcontact = nbcontact + 1
    labelprogession = nbcontact / totalcontact * 100
    progression = 200 * labelprogession / 100
    prenom = Sheets("contact").Range("A" & nbcontact).Value
    Nom = Sheets("contact").Range("B" & nbcontact).Value
    Adresse = Sheets("contact").Range("C" & nbcontact).Value
     
     
                    Image_barre.Width = progression
                    Label_barre.Caption = labelprogession & "%"
                    DoEvents
     
        Application.ScreenUpdating = True
     
     
     
    'envoi du mail
    'On Error Resume Next
    '    Set OL = CreateObject("Outlook.Application")
    '    Set OLmail = OL.CreateItem(olMailItem) '0
     
     
     
            'enléve les messages d'alerte
            Application.DisplayAlerts = False
            'remet les messages d'alerte
            Application.DisplayAlerts = True
            'réactive le rafraichissement de l'écran
            Application.ScreenUpdating = True
     
     
     
        ' With OLmail
            .From = "guil.pothier@gmail.com" ' Adresse = "guil.pothier@gmail.com" 'pour exemple
            .To = Adresse
            .Subject = "HMTL BODY du " & Date
     
    Const SAUTLIGNE = "<br/>"
     
     
        img1 = "1-4.jpg"
        img2 = "2-4.jpg"
        img3 = "3-4.jpg"
        img4 = "4-4.jpg"
     
     
            .AddRelatedBodyPart ThisWorkbook.Path & "\" & "1-4.jpg", img1, 1
            .AddRelatedBodyPart ThisWorkbook.Path & "\" & "2-4.jpg", img2, 1
            .AddRelatedBodyPart ThisWorkbook.Path & "\" & "3-4.jpg", img3, 1
            .AddRelatedBodyPart ThisWorkbook.Path & "\" & "4-4.jpg", img4, 1
     
     
     
    'Ecrit bonjour en gras, calibri, taille 40
    .HTMLBody = .HTMLBody & "<font face=""calibri"" size =""40"" color=""black""> hello <b>Bonjour ! " & prenom & " " & Nom & "</b></font>"
    'Saute deux lignes
    .HTMLBody = .HTMLBody & SAUTLIGNE & SAUTLIGNE
    'Ecrit le reste de l'entete
     
    .HTMLBody = .HTMLBody & SAUTLIGNE & SAUTLIGNE
    .HTMLBody = .HTMLBody & "<div align=""center""><table>"
    .HTMLBody = .HTMLBody & "<tr>"
    .HTMLBody = .HTMLBody & "<td valign=""middle""><b>test : <input type=""text"">Ligne 1 - cols 1</input></b></td>"
    .HTMLBody = .HTMLBody & "<td valign=""middle""><b><img src=""cid:1-4.jpg""> Ligne 1 - cols 2</b></td>"
    .HTMLBody = .HTMLBody & "<td valign=""middle""><b><img src=""cid:2-4.jpg""> Ligne 1 - cols 3</b></td>"
    .HTMLBody = .HTMLBody & "</tr>"
     
    .HTMLBody = .HTMLBody & "<tr>"
    .HTMLBody = .HTMLBody & "<td valign=""middle""><img src=""cid:3-4.jpg""> Ligne 2 - cols 1</td>"
    .HTMLBody = .HTMLBody & "<td valign=""middle""><img src=""cid:4-4.jpg""> Ligne 2 - cols 2</td>"
    .HTMLBody = .HTMLBody & "<td valign=""middle"">Ligne 2 - cols 3></td>"
    .HTMLBody = .HTMLBody & "</tr>"
     
    .HTMLBody = .HTMLBody & "</table></div>"
    .HTMLBody = .HTMLBody & "</body>"
     
     
     
            '.Display
            '.Save
            .Send 'envoi automatique
     
     
     
    Loop Until (Range("A" & nbcontact) = "")
     
    End With
     
     
    End Sub

    du coup, je n'ai pas pu vérifier l'affichage des images...
    je vous remercie de vos conseils éclairés


    Guillaume.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    en identifiant approuvé il faut fournir login pasword et sll true/false
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    With ConfigIf Identify = True Then
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 'Use SSL for the connection (False or True)
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = User
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = PassWord
    End If
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Serveur
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = Delay
        .Update
      EndWith
    et remplir le mail de l'expéditeur pour authentification!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With msg    Set .Configuration = Conf
        .To = Dest
        .cc = DestEnCopy
        .FROM = Expediteur
        .Subject = Objet 
          .HTMLBody = Body

  12. #12
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut it works
    Yesssssssssssssssss !!!!!!!!!!!!!! it works ! it mail !

    il me reste à résoudre le problème des input type dans le contenu de l'email.
    ca fonctionne avec Gmail mais pas Outlook bien sûr !

    avez vous une idée ?

    pensez vous que l'on puisse intégrer du javascript en plus ?


    c'est dommage, j'aimerais aimé pouvoir joindre un form vba directement dans le corps de l'email, cela aurait été plus simple....


    Merci de votre aide.
    Guillaume.

  13. #13
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    Avec un .display avant .send cela doit fonctionner.
    assure toi que ton HTML soit correct à l'aide d'un éditeur HTML EN LIGNE
    par exemple : http://htmleditor.in/index.html


    Tu peux aussi pour créer un EMAIL EN HTML utiliser les fonctions WORDEDITOR et directement faire un copier coller de EXCEL vers ton Email

    --> https://www.developpez.net/forums/d1...email-outlook/

  14. #14
    Invité
    Invité(e)
    Par défaut
    Code html : 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
    <!DOCTYPE html><html>
    <body>
     
     
    <h2>Send e-mail to someone@example.com:</h2>
     
     
    <form action="mailto:someone@example.com" method="post" enctype="text/plain">
    Name:<br>
    <input type="text" name="name"><br>
    E-mail:<br>
    <input type="text" name="mail"><br>
    Comment:<br>
    body <textarea name='body'>Saisissez  votre texte ici !</textarea>
    <input type="submit" value="Send">
    </form>
     
     
    </body>
    </html>
    Dernière modification par LittleWhite ; 26/02/2017 à 20h07. Motif: Coloration code

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    re
    perso dans mon app mail exel j'ai la possibilté de choir avec authent ou pas car chez moi c'est plus facile d'utiliser ma smtp FAI
    PAR CONTRE AU BOULOT J'AI UN PROXI JE PASSE PAR GMAIL AVEC AUTHENT
    robert c'est ce code ???????????????? il sert a quoi


    ps robert j'ai une bonne nouvelle pour toi la version 2017 est casi fini et le must en javascript
    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

  16. #16
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut résolu côté CDO...
    oui, c'est résolu, mon problème venait du paramétrage de gmail.
    du coup, j'ai pris mon FAI, c'était plus simple...

    en revanche, l'affichage des images sur Courrier ne fonctionne pas, uniquement sur Outlook et gmail...
    pour les input text, ca ne fonctionne que sur Gmail...

    si vous avez une solution pour ceci, je prends...

    merci beaucoup de votre aide.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Bonsoir Patrick,
    Je beta testerai avec plaisir

  18. #18
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut reste à ouvrir les images sur toutes les boites
    Bonjour,

    les images ne peuvent être vus sur toutes les boites emails (en plus, ca fait une croix rouge moche!)
    sinon, tout est ok...

    si vous avez une solution à me fournir, je suis preneur...
    cette fois, ca dépasse mes capacités..

    idem pour les input sur html j'ai du abandonner (ca ne fonctionne qu'avec Gmail)




    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
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    Private Sub CommandButton101_Click()
     
    totalcontact = 1
    Do While (Sheets("contact").Range("A" & totalcontact) <> "")
    totalcontact = totalcontact + 1
    Loop
    totalcontact = totalcontact - 1
     
     
    ' barr de progession
     
        Application.ScreenUpdating = False
        progression = 0
     
     
    nbcontact = 1
     
    Do
    nbcontact = nbcontact + 1
    labelprogession = Round(nbcontact / totalcontact * 100, 0)
    progression = 200 * labelprogession / 100
    prenom = Sheets("contact").Range("A" & nbcontact).Value
    Nom = Sheets("contact").Range("B" & nbcontact).Value
    Adresse = Sheets("contact").Range("C" & nbcontact).Value
     
     
                    Image_barre.Width = progression
                    Label_barre.Caption = labelprogession & "%"
                    DoEvents
     
     
            Application.ScreenUpdating = True
           'enléve les messages d'alerte
            Application.DisplayAlerts = False
            'remet les messages d'alerte
            Application.DisplayAlerts = True
            'réactive le rafraichissement de l'écran
            Application.ScreenUpdating = True
     
     
     
    Dim iMsg As Object, iConf As Object, Flds As Object
    Set iMsg = CreateObject("cdo.message")
    Set iConf = CreateObject("cdo.configuration")
     
    Set Flds = iConf.Fields
    With Flds ' pour Gmail
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Sheets("serveur").Range("A2").Value
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = Sheets("serveur").Range("B2").Value
                .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Sheets("serveur").Range("C2").Value
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587   'stmp server port changer le numero si necessaire
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False   'Use SSL for the connection (False or True)
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
     
        .Update
    End With
     
     
    With iMsg
        Set .Configuration = iConf
     
            .From = Sheets("serveur").Range("B2").Value ' Mon Adresse email
            .To = Adresse
            .Subject = "HMTL BODY du " & Date
     
     
    Const SAUTLIGNE = "<br/>"
     
     
        img1 = "1-4.jpg"
        img2 = "2-4.jpg"
        img3 = "3-4.jpg"
        img4 = "4-4.jpg"
     
     
            .AddRelatedBodyPart ThisWorkbook.Path & "\" & "1-4.jpg", img1, 1
            .AddRelatedBodyPart ThisWorkbook.Path & "\" & "2-4.jpg", img2, 1
            .AddRelatedBodyPart ThisWorkbook.Path & "\" & "3-4.jpg", img3, 1
            .AddRelatedBodyPart ThisWorkbook.Path & "\" & "4-4.jpg", img4, 1
     
     
    ' on ecrit le mail
    .HTMLBody = "<html><body>"
    '.HTMLBody = .HTMLBody & "<form action=""mailto:guillaumepothier@hotmail.com"" method=""GET"">"
    .HTMLBody = .HTMLBody & "<font face=""calibri"" size =""40"" color=""black""> hello <b>Bonjour ! " & prenom & " " & Nom & "</b></font>"
     
    .HTMLBody = .HTMLBody & SAUTLIGNE & SAUTLIGNE
     
    .HTMLBody = .HTMLBody & SAUTLIGNE & SAUTLIGNE
    .HTMLBody = .HTMLBody & "<div align=""center""><table>"
     
    .HTMLBody = .HTMLBody & "<tr>"
    .HTMLBody = .HTMLBody & "<td><img src=""2-4.jpg""></td>"  'Ligne 1 - cols 1
    .HTMLBody = .HTMLBody & "<td colspan=3><h3>Afin de mieux vous connaitre, de mesurer la satisfaction nos clients pour toujours mieux adapter la prestation de service et à évaluer l'importance accordée par le client à chacune de ces composantes.</h3></td>" 'Ligne 1 - cols 2à4
    .HTMLBody = .HTMLBody & "</tr>"
     
     
     
    .HTMLBody = .HTMLBody & "<tr>"
    .HTMLBody = .HTMLBody & "<td><img src=""1-4.jpg""></td>"  'Ligne 1 - cols 1
    .HTMLBody = .HTMLBody & "<td><h1>Participez à notre enquête de satisfaction !</h1></td>" 'Ligne 1 - cols 2
    .HTMLBody = .HTMLBody & "<td colspan=2><img src=""3-4.jpg""></td>"   '  Ligne 1 - cols 3 & 4
    .HTMLBody = .HTMLBody & "</tr>"
     
     
    .HTMLBody = .HTMLBody & "<td><img src=""4-4.jpg""></td>"  'Ligne 1 - cols 1
    .HTMLBody = .HTMLBody & "<td colspan=3><h4><a href=""http://localhost/satisfaction.php"">Cliquez ici pour participer</a></h4></td>" 'Ligne 1 - cols 2à4
    .HTMLBody = .HTMLBody & "</tr>"
     
    .HTMLBody = .HTMLBody & "</table></div>"
    .HTMLBody = .HTMLBody & "</form></body></html>"
     
     
     
            '.Display
            '.Save
            .Send 'envoi automatique
     
    End With
     
     
     
     
    Loop Until (nbcontact = totalcontact)
     
     
     
    End Sub

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    c'est normal tu update pas le fields pour tes images tu risque pas de les voirs
    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

  20. #20
    Membre à l'essai
    Homme Profil pro
    chomiste
    Inscrit en
    Février 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : chomiste
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 32
    Points : 16
    Points
    16
    Par défaut .update
    un .update juste après mes attachments et c'est suffisant ?

    Merci.

    Guillaume.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2007] afficher image avec lien label
    Par Pompaero dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/10/2015, 12h46
  2. Afficher image avec radioButton
    Par Vanessa48 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/04/2013, 09h27
  3. afficher image avec ActiveX
    Par Mat32 dans le forum LabVIEW
    Réponses: 5
    Dernier message: 18/12/2009, 11h31
  4. afficher image avec file
    Par niceen dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 18/02/2008, 19h11

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