Bonjour à tous,
Je cherche un petit peu d'aide pour envoyer des mails depuis Excel à l'aide de VBA.
Plusieurs post parlent déjà de ce sujet et m'ont permis de reprendre la base de code ci-dessous qui fonctionne pour envoyer un seul tableau dans le corps du message, sans texte ni commentaire. (voir résultat capture ci-jointe)
Mon problème est que je n'arrive pas à créer un corps de message avec plusieurs éléments.
En sommes, je voudrais créer un mail du type :
Bonjour,
bla,blabla, ....
[graphique]
bla,bla,bla
[Tableau1]
bla,bal,bla
[tableau 2]
...
[Tableau 5]
bla,bla
Cordialement
Signature
L'ensemble des tableau et graphiques sont à copier coller depuis le Excel.
Voila le code actuel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Sub mailling()
'ThisWorkbook.RefreshAll
Set OOutlook = CreateObject("Outlook.Application")
Set OMail = OOutlook.CreateItem(olMailItem)
With OMail
.To = Sheets("Param mails").Range("D2").Value ' Destinataire
.CC = Sheets("Param mails").Range("E2").Value ' en copie à
.Subject = "Traçabilité produit - " & Sheets("Tab mail hebdo").Range("B2").Value & " - SL" & Right(Sheets("Tab mail hebdo").Range("C2").Value, 2)
.Body = "Bonjour" & vbLf & Sheets("Tab mail hebdo").Range("A5:F5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Set OTexte = OMail.GetInspector.WordEditor
OTexte.Range.Paste
.Display
End With
End Sub |
Le premier point qui m'agace c'est que le .Body="Bonjour" & vbLf & copier-coller d'un tableau ne renvois pas bonjour puis à la ligne tableau mais seulement le tableau.
De même lorsque je fais un .Body= copier-coller du tableau suivi de .Body= "Bonjour" & vbLf & .Body, j'obtiens :
Bonjour
-1
Il y a clairement des choses qui m'échappent et j'espère ne pas faire doublon avec un post existant que je n'aurais pas trouvé mais la je patauge ...
Merci d'avance à ceux qui auront quelques lumières pour moi
Partager