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 pb de mise en forme dans le corps du mail (fait à partir d'une textbox)


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Envoi mail avec pb de mise en forme dans le corps du mail (fait à partir d'une textbox)
    Bonjour à tous,

    Je viens vers vous après pas mal de taf...et là je coince pour de bon !!

    Explication :

    Nous avons crée une macro permettant d'envoyer des mails automatiquement.

    L'utilisateur indique les fichiers à envoyer et rempli dans une zone de texte le corps de son mail.

    Le mail est envoyé en y intégrant le corps du texte et la signature avec .htmlbody.

    Tout marche nickel sauf que le texte dans le mail ne prend pas en compte les sauts de lignes pouvant se trouver dans la textbox.

    Quelqu'un a une idée.

    Je mets un lien si vous souhaitez voir la macro et le fichier utilisé pour renseigner les destinataires.

    http://www.cjoint.com/c/EIemOf8ghb5
    http://www.cjoint.com/c/EIemPyBpFM5


    Merci d'avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    J'ai testé en simplifiant et le texte dans le message est conforme à celui du TextBox :
    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
     
    Sub Test()
     
        Dim AppOutlook As Object
        Dim Message As Object
     
        Set AppOutlook = CreateObject("outlook.application")
        Set Message = AppOutlook.CreateItem(0)
     
        With Message
     
            .Subject = "Ici le sujet !"
            .Display
            .Body = ThisWorkbook.Worksheets(1).TextBox5.Text
            .Display
            .Recipients.Add ("trucmuche@orange.fr")
            '.Send
     
        End With
     
    End Sub
    Hervé.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    Debug.Print HtmlRCh(ThisWorkbook.Worksheets(1).TextBox5.Text)
    End Sub
    Function HtmlRCh(t As String) As String
    Dim v, i As Long
    v = Split(t & Chr(10), Chr(10))
    For i = 0 To UBound(v)-1
        HtmlRCh & "<p>" & v(i) & "</p>"
    Next
     
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .HTMLBody = corps & HtmlRCh(ThisWorkbook.Worksheets(1).TextBox5.Text) & .HTMLBody

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Boujour Rdurupt et Theze et surtout merci de prendre le temps de me répondre.

    Theze, je sais que cela marche si l'on ne passe pas par du htmlbody mais je dois passer par là pour mettre en forme les noms des destinataires etc....;
    Rdurupt, j'ai tenté de mettre en application ta solution mais :

    où dois je placer le sub test et à quoi sert elle? Au début de ma macro ou dan sune autre macro et la lancer auparavant la sub test ??

    Par ailleurs, lorsque je colle la fonction HtmlRCh dans mon editeur VBA :

    " HtmlRCh & "<p>" & v(i) & "</p>"" se met en rouge et lorsque je lance la macro cela bug sur cette ligne avec une erreur : erreur de compilation/erreur de syntaxe

    Une idée ?

    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    Code désolé : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub test()
    Debug.Print HtmlRCh(ThisWorkbook.Worksheets(1).TextBox5.Text)
    End Sub
    Function HtmlRCh(t As String) As String
    Dim v, i As Long
    v = Split(t & Chr(10), Chr(10))
    For i = 0 To UBound(v)-1
        HtmlRCh = HtmlRCh & "<p>" & v(i) & "</p>"
    Next
     
    End Function
    tu place le code dans le même module qui envoi le mail!

Discussions similaires

  1. [10gR2] Envoi de mail avec pièce jointe via un form
    Par Lylye dans le forum Forms
    Réponses: 0
    Dernier message: 01/03/2013, 15h52
  2. envoi de mail avec du html ET du PHP dans le texte
    Par laurentSc dans le forum Langage
    Réponses: 2
    Dernier message: 22/06/2010, 21h31
  3. [WD-2007] Envoyer le corps d'un doc par mail en gardant la mise en forme
    Par abillon dans le forum VBA Word
    Réponses: 7
    Dernier message: 13/11/2009, 10h00
  4. récupération infos système et mise en forme dans un mail
    Par Baldric de Dol dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 16/04/2008, 09h09
  5. Réponses: 5
    Dernier message: 08/05/2007, 18h58

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