Mail à partir d'Excel
Bonjour,
j'aimerai si c'est possible pouvoir envoyer une ligne ou plusieurs lignes en mail.
Exemple j'aimerai envoyer par mail outlook toute la ligne de Mme Dupont1
en pj mon tableau par avance merci pour votre aide
Cordialement
Bonjour mango
Dans ce style :
Sub EnvoiMail()
Dim messagerie As Variant
'contenu
MonContenu = Range("D4") & " " & Range("E4") & " " & Range("F4") ' et etc...
Set messagerie = CreateObject("Outlook.Application")
With messagerie.CreateItem(olMailItem)
.To = "destinataire@gmail.com"
.Subject = "ATTENTION "
.Body = MonContenu
.Display
.Send
End With
End SubBon courage
Bonsoir,
Pour ma gouverne, et à vrai dire j’ai pas cherché ailleurs, mais est il possible d’envoyer le mail via gmail ?
Bonjour,
je viens d'essayer le mail s'affiche mais impossible de l'envoyer? (je suis novice!).
Il y aura 5 destinataires et de très nombreuses lignes faut il modifier la formule.
Merci par avance pour votre aide
bien cordialement
Bonjour Mango19
Pour envoyer une plage, mieux vos utiliser ce genre de code
Sub Création()
Dim OutObj As Object, Email As Object, StrHTML As String
Dim Signature As String
' Création d'une instance Outlook pour envoyer un mail
' Utilisation du Late Binding pour plus de compatibilité
Set OutObj = CreateObject("Outlook.Application")
Set Email = OutObj.CreateItem(0)
' Création de l'e-mail : Titre, Corps du message, destinataire
' Afficher l'objet mail pour avoir la signature
Email.display
' Mémoriser la signature
Signature = Email.HTMLbody
' Destinataire du mail
Email.To = "destinataire1@free.fr; destinataire2@free.fr"
' Copie à
Email.Cc = ""
' Sujet de l'eMail
Email.Subject = "Ceci est mon objet"
' Préparer le corps du message
StrHTML = "Bonjour,<BR>" _
& "Vous trouverez ci-dessous les détails." & "<BR>"
' Inscrire les cellules A à D de la ligne
StrHTML = StrHTML & RangetoHTML(Sht.Range("A" & MaLig & ":D" & MaLig))
'
Email.HTMLbody = StrHTML & Signature
' Envoyer le mail
'Email.Send
' Effacer les objets
Set Email = Nothing
Set OutObj = Nothing
End Sub
Function RangetoHTML(rng As Range)
' Changed by Ron de Bruin 28-Oct-2006
' Working in Office 2000-2016
Dim fso As Object
Dim ts As Object
Dim TempFile As String
Dim TempWB As Workbook
TempFile = Environ$("temp") & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
'Copy the range and create a new workbook to past the data in
rng.Copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With
'Publish the sheet to a htm file
With TempWB.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=TempFile, _
Sheet:=TempWB.Sheets(1).Name, _
Source:=TempWB.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With
'Read all data from the htm file into RangetoHTML
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
RangetoHTML = ts.readall
ts.Close
RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
"align=left x:publishsource=")
'Close TempWB
TempWB.Close savechanges:=False
'Delete the htm file we used in this function
Kill TempFile
Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing
End Function
End Function@patty5046 en late binding, "messagerie.CreateItem(olMailItem)" ne fonctionne pas si la variable olMailItem n'est pas définit avant
@+