Conserver mise en forme lors de la création d'un mail grâce à Excel

Bonjour,

Je poste sur ce forum car j'ai un petit soucis. En effet j'ai crée un fichier excel permettant à mes collègues de nuit de faire des transmissions sur différents thèmes à mes collègues de jour grâce a une macro excel.

La macro marche parfaitement bien mais j'aimerais juste améliorer quelques points.

Je ne comprends pas pourquoi le texte en gras dans la colonne B ne s'affiche pas en gras dans le mail ? Existe t'il une commande pour cela ?

La suite du projet est de créer un fichier pour le week end. (3feuilles + "compilation" des informations contenues dans les 3 feuilles) Pour cela j'aurais besoin que la mise en forme soit conservée lors de la copie dans excel ? Est-ce possible ?

Ci joint mon fichier.

Merci d'avance pour votre aide.

P. Bosetti

Bonjour,

quand tu copies le contenu des cellules excel vers outlook, la mise en forme n'est pas copiée. Il faut remettre le texte en forme après la copie. Il te faudra utiliser les balises RTF (ton choix actuel) ou HTML ( que je te conseille car plus simple).

Merci de votre réponse rapide.

Il n'est donc pas possible de conserver la mise en forme si j'ai bien compris ?

Durant mes recherches sur le net j'ai bien trouvé la solution HTML (mais je ne comprends rien au système des balises etc ...)

Vous me parlez des balises RTF. Comment fonctionnent t'elles ? (j'ai cherché sur le net un cours sur les balises RTF mais sans succès, je n'utilise peut être pas les bons mots clef). J'aurais besoin uniquement de 2 commandes : Texte en gras et texte en couleur (3 couleurs différentes).

Merci encore,

P

Bonjour,

voici un exemple de mise en forme HTML

Sub Macro4()

    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    Shell "Outlook.exe", vbHide

    'Mettre en gras'
    Range("B11:B55").Font.Bold = True

    With OutMail
        .To = Range("C1")
        .CC = Range("C2")
        .Subject = Range("C3")
        msg = Range("C9") & "<br>" & "<br>" & Range("B11") & Range("o1") _
        & "<br>" & "<br>" & "<font color=""blue"">" & Range("B21") & "<b>" & Range("o2") & "</b></font>" _
        & "<br>" & "<br>" & Range("B31") & Range("o3") _
        & "<br>" & "<br>" & Range("B35") & Range("o4") _
        & "<br>" & "<br>" & Range("B39") & Range("o5") _
        & "<br>" & "<br>" & Range("B43") & Range("o6") _
        & "<br>" & "<br>" & Range("B47") & Range("o7") _
        & "<br>" & "<br>" & Range("b51") & Range("o8") _
        & "<br>" & "<br>" & Range("b55") & Range("o9") _
        & "<br>" & "<br>" & Range("c61") & "<br>" & "<br>" & Range("C6") _
        & "<br>" & "<br>" & Range("c8")
        .BodyFormat = 2
 .HTMLBody = _
 "<HTML><BODY>" & msg & "</BODY></HTML>"

        .Display

    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

Merci beaucoup, je n'arrivais pas a comprendre comment insérer les balises avec le texte merci !!

Autrement, est ce que vous pouvez me dire comment appeler une cellule d'une autre feuille ?

Est-ce bien range("feuille1", "C2") par exemple?

Merci encore,

P

J'ai trouvé seul : Worksheets("bla").Range("B1")

Encore Merci

Résolu

P

Rechercher des sujets similaires à "conserver mise forme lors creation mail"