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 :

Envoi mail avec image à partir d'Excel en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 62
    Points
    62
    Par défaut Envoi mail avec image à partir d'Excel en VBA
    Bonjour;
    Je veux envoyer des mails (par Outlook) avec des images dans le corps du texte.
    J'y suis arrivé, mais le problème est que le nom de l'image doit être en dur dans le programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .HTMLBody = .HTMLBody & "<br><img src='cid:image1.jpg'><br><img src='cid:image2.jpg'> <br><img src='cid:image3.jpg'> <br>"
    Dans ce cas les image1, 2 et 3 sont bien dans le mail.

    Ce que je voudrais c'est que ces noms puissent être des variables image(i)

    Quelqu'un peut-il m'aider ?

    D'avance merci

  2. #2
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour à toi, Bonjour au Forum,

    Sur la base d'un envoi par Outlook
    Personnellement, j'ai toujours été sceptique quant à la gestion d'un corps de texte de mail par VBA (htmlBody)

    Je préfère enregistrer une plage Excel, correspondant à ce corps de texte, et l'intégrer dans l'éditeur Word d'Outlook.

    J'expose ce processus dans cette contribution

    En corollaire
    Voici un code par lequel plusieurs images, à la suite, sont adressées.

    Attention à l'ordre.

    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
    With MonItem
     
            .To = adresse_Mail
            .Subject = objet_mail
     
            Application.wait (Now + TimeValue("0:00:01"))
            .Display
     
            'https://www.developpez.net/forums/d1334291/logiciels/microsoft-office/outlook/vba-outlook/copier-coller-tableau-excel-corps-mail/
            Set édit_ol = .GetInspector
            Set wdDoc = édit_ol.WordEditor
     
            'Voir discussion
            'https://www.developpez.net/forums/d2052227/logiciels/microsoft-office/excel/copie-graphique-excel-outlook-script-fonctionne-petite-question/#post11407891
            'pour alimentation variable tableau par les graphiques
     
            For Each graph In Array("répart", "évolution")
     
                 'copie du graphique dans le corps de message
                 Worksheets("Graphiques").Shapes("Graph_" & graph & "_CA").Copy
     
                 '------------------------------------------------------------------------------------
                 'Nouveauté 2016
                 'Au 16 10 2017 : voir si mention (HTML) justifié
                 On Error Resume Next
                 AppActivate objet_mail & " - Message (HTML)" ' Active Outlook
                 AppActivate objet_mail & " - Message" ' Active Outlook
                 On Error GoTo 0
     
                 With wdDoc
                         'Image en en-tête du corps de texte d'Outlook, au-dessus de la signature éventuelle
                         .Range(0, 0).PasteAndFormat Type:=wdChartPicture
                         'Image redimensionnée
                         .InlineShapes(1).Width = 725
                 End With
     
            Next graph
     
            Set wdDoc = Nothing
            Set édit_ol = Nothing
     
            .Send
     
            Application.CutCopyMode = False
     
    End With

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 62
    Points
    62
    Par défaut reponse
    Bonjour et merci pour ta réponse
    Mais pour moi c'est des publication word avec des image et une présentation que je souhaite inclure.
    De ce fait cela ne peux pas être dans des cases excel.
    Merci quand même

  4. #4
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut,

    Mais pour moi c'est des publication word avec des image et une présentation que je souhaite inclure
    J'avoue ne pas comprendre.
    Nous sommes bien sur le Forum Excel.
    Et le sujet du pilotage d'Outlook depuis VBA Excel a été maintes fois débattue.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


Discussions similaires

  1. [XL-2007] Envoyer mails avec Gmail à partir d'Excel
    Par FrancisZheng dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 01/04/2017, 18h34
  2. Envoyer mail avec GMail à partir d'Excel
    Par touche_a_tout dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2017, 14h30
  3. [XL-2007] Envoyer un mail avec outlook à partir d'excel avec des tableaux dans le corps du mail
    Par BarneyYagami dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/11/2014, 16h48
  4. envoi mail avec image dans le body
    Par edam dans le forum Débuter
    Réponses: 15
    Dernier message: 02/05/2013, 17h47
  5. envoi mail avec piece jointe fichier excel
    Par flogreg dans le forum ASP
    Réponses: 12
    Dernier message: 20/12/2004, 16h02

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