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 de mail avec VBA Excel et texte enrichi


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juin 2011
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Envoi de mail avec VBA Excel et texte enrichi
    Bonjour,

    J'ai créer il y a peu un outil d'envoi de mail avec VBA Excel, qui fonctionne parfaitement aussi grâce à vous.

    J'aimerai y apporter des améliorations, notamment dans un premier temps concernant une textbox.

    Pour être plus précis, sans trop en raconter, les mails qui sont envoyé, sont en général préparé dans un premier temps sous Word avec mise en forme, tableau et toussa toussa.

    Seulement lorsque VBA joue son rôle afin de créer le mail, il récupère le contenu de la textbox mais sans les mises en forme, donc sous forme de texte brut, ce qui est embêtant.

    D'ailleurs, on perd également le format du texte copier/coller lorsqu'il est collé dans la textbox.

    Avez-vous une solution ?

    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
    Set mail = outlook.CreateItem(olMailItem) 'ouvre un nouvel email, afin d'être édité par la suite
    Do While compteur_vide <> 75
        If Cells(ligne, 2).Value <> vbEmpty Then
        adresse_mail = Cells(ligne, 2) 'variable contenant l'adresse mail destinataire à la ligne en cours
        adresse_mail_cc = "blabla@blabla.fr"  'variable contenant l'adresse mail en copie du mail
                mail.BCC = adresse_mail & ";" & mail.BCC 'l'adresse mail vers laquelle le mail va être transmis
         compteur_vide = 0
        Else
                    If Cells(ligne + 1, 2).Value = vbEmpty Then
        compteur_vide = compteur_vide + 1
                     End If
     
        End If
    ligne = ligne + 1 'passe à la ligne suivante
     
    Loop
                mail.BodyFormat
                mail.Display
                mail.CC = adresse_mail_cc 'l'adresse mail vers laquelle le mail va être transmis en copie
                mail.Subject = massmailing.sujet_mail.Value 'insère le sujet de la textbox du sujet du mail
        chaine = massmailing.corps_mail.Value 'attribut à la variable chaine le contenu de la textbox du corps du mail
                mail.HTMLBody = chaine & mail.HTMLBody 'insère le contenu du corps du mail et la signature
     
    Set outlook = Nothing
    Cela est fonctionnel sans la récupération du format du texte.

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 628
    Points : 34 329
    Points
    34 329
    Par défaut
    salut,
    pour les mises en forme et format particulier, je te recommande l'utilisation du code disponible à paritr de la
    http://outlook.developpez.com/faq/?p...VBA_Send_Range

    C'est très pratique et répond très bien à ta problématique
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. [XL-2010] envoi mail outlook avec vba excel
    Par fazpedro dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 30/09/2014, 10h27
  2. Réponses: 4
    Dernier message: 22/05/2013, 16h33
  3. [XL-2007] envoi mail outlook avec vba excel
    Par yaco32 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/01/2013, 15h57
  4. envoi mail outlook avec vba excel
    Par momolamoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/09/2010, 10h45
  5. Envoi de mail en VBA Excel avec mise en forme et choix d'expediteur
    Par amalane dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/08/2006, 15h24

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