Insertion d'une plage de cellule sélectionnée dans mail format image
Bonjour,
Actuellement avec ma macro je peux envoyer un mail à partir d'excel en intégrant en pièce jointe un tableau que je sélectionne lors de l'activation de ma macro.
J'aimerai que ce tableau soit aussi intégré en format image dans le corps du message .
Mais je n'arrive pas à passer cette étape.
Je pense que cette partie de la macro ne fonctionne pas :
InsertCells.CopyPicture xlScreen
ActiveSheet.Paste 'cela me crée mon tableau mais colle l'image dans le tableau alors que je le veux dans le mail....
Application.CutCopyMode = False
Pourriez-vous m'aider?
Je vous remercie et reste attentif à vos retours.
Cordialement,
Xavier
Bonjour Xavier et bienvenue,
à tester,
Sub SendRangeByMail()
Dim rngeSend As Range
With Application
On Error Resume Next
Set rngeSend = Sheets("Feuil2").Range(Range("B1").CurrentRegion.Address) 'à adapter
If rngeSend Is Nothing Then Exit Sub
sFile = Environ("Temp") & "\XLRange.htm"
On Error GoTo 0
.ActiveWorkbook.PublishObjects.Add(4, sFile, rngeSend.Parent.Name, rngeSend.Address, 0, "", "").Publish True
Call PrepareOutlookMail(sFile)
Kill sFile
End With
End Sub
Sub PrepareOutlookMail(sFileName)
Dim appOutlook As Outlook.Application
Dim oMail As Outlook.MailItem
Set appOutlook = CreateObject("Outlook.Application")
If Not (appOutlook Is Nothing) Then
Set oMail = appOutlook.CreateItem(olMailItem)
With oMail
.To = "Adresse@mail.fr"
.Subject = "Le sujet"
.HTMLBody = ReadFile(sFileName)
' .Attachments.Add (ThisWorkbook.FullName)
.Display 'metre cette ligne en commentaire pour éviter l'affichage du mail
' .Send 'mettre cette ligne active pour l'envoi du mail sans qu'il soit affiché
End With
Set oMail = Nothing
Set appOutlook = Nothing
End If
End Sub
Public Function ReadFile(sFileName) As String
Dim fso As Object, fFile As Object
Dim sTemp As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set fFile = fso.OpenTextFile(sFileName, 1, False)
sTemp = fFile.ReadAll
fFile.Close
Set fFile = Nothing
ReadFile = sTemp
End Function
Bonjour ,
Merci pour votre réponse!
J'ai dans ce tableau des information que je ne souhaite pas envoyer : dans cette exemple je souhaite envoyer que les trois premières lignes du tableau mais parfois ce sera 5 ou 7 lignes. J'ai donc besoin de réaliser la sélection lorsque j'active la macro.
Je pense ne pas être loin si vous regardez ma macro que je vous ai envoyé mais il doit y a voir un code que je ne réalise pas bien.
Dans l'attente de vous lire.
Cordialement,
Xavier
En fait j'arrive à créer l'image mais elle est collée dans l'excel alors que je la souhaite dans le corps de mail.
Espérant être clair