formater le texte de outlook express par excel

lematou

XLDnaute Occasionnel
Bonjour à tous,

voilà je repose une question restée sans réponse, mais qui devait être due à mes mauvaises explications.

Je lance par une macro un texte d'une plage de cellules d'une feuille excel via outlook express. Le texte est lancé directement dans le corps du message.
Voici la macro:

ub NOM()
Sheets("NOM").Select
Dim HyperLien As String, Objet As String, corps As String
Objet = Range("A2")
corps = ""
corps = corps & Cells(2, 1).Value & "%0A"
corps = corps & Cells(4, 1).Value & "%0A"
corps = corps & Cells(5, 1).Value & "%0A"
corps = corps & Cells(6, 1).Value & "%0A%0A"
corps = corps & Cells(7, 1).Value & " " & Cells(7, 3).Value & " " & Cells(7, 4).Value & "%0A%0A"
corps = corps & Cells(9, 1).Value & "%0A%0A"
corps = corps & Cells(10, 1).Value & " " & Cells(10, 5).Value & "%0A%0A"
corps = corps & Cells(12, 1).Value & "%0A"
corps = corps & Cells(13, 1).Value & "%0A%0A"
corps = corps & Cells(15, 1).Value & "%0A"
corps = corps & Cells(16, 1).Value & "%0A"
corps = corps & Cells(17, 1).Value & "%0A"
corps = corps & Cells(18, 1).Value & "%0A"
corps = corps & Cells(19, 1).Value & "%0A"
corps = Application.WorksheetFunction.Substitute(corps, vbCrLf, "%0D%0A")
adresse = Range("F1")
Copie = Range("F2")
HyperLien = "mailto:" & adresse & "?cc=" & Copie ' pour le CC j'ai fait ça
HyperLien = HyperLien & "&Subject=" & Objet & " (à " & Time() & ")"
HyperLien = HyperLien & "&Body=" & corps
ActiveWorkbook.FollowHyperlink HyperLien
Sheets("Feuil1").Select
End Sub
Cela marche impécablement, d'autant que c'est le forum qui m'a guidé.
Mais dans ma feuille excel certaine cellules sont en gras, d'autres en rouge, et la police en arial 10.
Pourtant dés que je lance la macro (avec bouton) le texte dans le corps du message outlook express reste noir et petit (8). Seules les majuscules sont prises en compte.
Question: y a-t-il un moyen de palier cet inconvéniant? Et coment?:confused:
Merci à tous.
 

Roland_M

XLDnaute Barbatruc
Re : formater le texte de outlook express par excel

re

voilà la solution !
grace aux infos données dans l'exemple fourni par Staple1600 que je remercie encore ! ;)

il y des pièges dans outlook, on a Cci alors qu'il faut mettre Bcc !? probablement (anglais/français) !?

j'ai donc gardé mon code mais adapté de cette manière:

HLink = "/mailurl:mailto:" & RecipientAdres & "?" & "cc=" & RecipientCC & "&" & "bcc=" & RecipientBCC & "&" & "subject=" & EmailSujet & "&" & "body=" & EmailMessage
Shell "C:\Program Files\Outlook Express\msimn.exe " & HLink

pour la suite voir code dans le fichier que je crois t'avoir déjà envoyé ....
mais voir aussi dans le fichier modèle !
 

Pièces jointes

  • OutlookExpress CopyDonn.xls
    28 KB · Affichages: 41
  • OutlookExpress CopyDonn.xls
    28 KB · Affichages: 49
  • OutlookExpress CopyDonn.xls
    28 KB · Affichages: 51
  • OutlookExpress Exemple.xls
    46.5 KB · Affichages: 46
  • OutlookExpress Exemple.xls
    46.5 KB · Affichages: 45
  • OutlookExpress Exemple.xls
    46.5 KB · Affichages: 50
Dernière édition:

lematou

XLDnaute Occasionnel
Re : formater le texte de outlook express par excel

Bonjour le forum, RolandM

J'ai trouvé une solution pour mettre en copie la deuxième adresse quand elle existe,' POUR INFORMATION'.
Tout cela en me servant de ton code à la base. voici:

Sub ENVOI()
'copy une plage de données dans le corp du message
NomDeLaFeuilleSource$ = "DIVERS"
EmailAdresDestinataire = Sheets("DIVERS").Range("F1")
EmailAdresCopie = Sheets("DIVERS").Range("F2")
EmailSujet = Sheets("DIVERS").Range("A3")
EmailMessage = Sheets("DIVERS").Range("B4")

' copy la plage de données
Application.CutCopyMode = False
Sheets("DIVERS").Range("A4:J24").Copy

' envoie Email
Opt$ = "/mailurl:mailto:" & EmailAdresDestinataire & "?subject=" & EmailSujet & "&Body=" & "&CC=" & EmailAdresCopie
Shell "C:\Program Files\Outlook Express\msimn.exe " & Opt$
'{TAB 4} redescend le curseur de Adresse sur le Message
'+{INSERT} MAJ+INSERT insertion données dans le Message
DoEvents '
SendKeys "{TAB 4}+{INSERT}", False
DoEvents
Application.CutCopyMode = True
Sheets("Entrée").Select
End Sub
ET ça marche impec , merci à toi et aux autres.:):)
 

Discussions similaires

Réponses
3
Affichages
697

Statistiques des forums

Discussions
312 113
Messages
2 085 426
Membres
102 888
dernier inscrit
medoit