Macro envoi mail

bonjour a tous,

J'utilise cette macro trouvé sur un autre topic, peut-on me dire quel ligne supprimé pour enlever la copie automatique dans un nouveau classeur

Sub mail()

'Fonctionne sous excel 2000-2013

Dim FileExtStr As String

Dim FileFormatNum As Long

Dim Sourcewb As Workbook

Dim destwb As Workbook

Dim TempFilePath As String

Dim TempFileName As String

Dim OutApp As Object

Dim OutMail As Object

Dim S As Shape

With Application

.ScreenUpdating = False

.EnableEvents = False

End With

Set Sourcewb = ActiveWorkbook

'Copie la feuille active comme nouvelle feuille

ActiveSheet.Copy

Set destwb = ActiveWorkbook

'Désactiver fenêtre de compatibilité

Application.DisplayAlerts = False

'----------------------------------------------------------------------------

'Sauvegarde la nouvelle feuille/L'envoie par mail/La supprime

'----------------------------------------------------------------------------

TempFilePath = Environ$("temp") & "\"

TempFileName = ActiveSheet.Name

Set OutApp = CreateObject("outlook.application")

Set OutMail = OutApp.CreateItem(0)

With destwb

.ExportAsFixedFormat Type:=xlTypePDF, Filename:=TempFilePath & TempFileName & ".pdf", Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False ' sauvegarde du fichier au format pdf

On Error Resume Next

With OutMail

.To = "fred@toto.fr"

.CC = "Moi@toto.fr"

.bcc = ""

.Subject = "sujet du mail"

.Attachments.Add TempFilePath & TempFileName & ".pdf"

.Body = "Bonjour, le message a mettre dans le mail "

'.display 'ou alors utiliser

.Send 'pour envoi

End With

On Error GoTo 0

.Close savechanges:=False

End With

'Effacer le fichier envoyé

Kill TempFilePath & TempFileName & ".pdf"

Set OutMail = Nothing

Set OutApp = Nothing

With Application

.ScreenUpdating = True

.EnableEvents = True

End With

End Sub

Bonsoir

il faut supprimer cette ligne

'Copie la feuille active comme nouvelle feuille
ActiveSheet.Copy

Fred

je viens de l'enlever,

par contre je n'ai plus le pdf qui se met en piece jointe

Bonjour,

Tu es obligé de créer un nouveau classeur pour la copie de la feuille et l'enregistrement en pdf.

Peux-tu préciser ce que tu veux faire ?

Cdlt.

je souhaite envoyer la page sur laquelle j'ai ma macro (c'est une facture) en fichier pdf et par mail

Bonsoir

un essai alors

Sub mail()
Dim OutApp As Object
Dim OutMail As Object

With Application
.ScreenUpdating = False
.EnableEvents = False
End With

'Désactiver fenêtre de compatibilité
Application.DisplayAlerts = False
'----------------------------------------------------------------------------
'Sauvegarde la nouvelle feuille/L'envoie par mail/La supprime
'----------------------------------------------------------------------------

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
     IgnorePrintAreas:=False, OpenAfterPublish:=False

Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)

'envoi/prépration du mail
With OutMail
.To = "fred@toto.fr"
.CC = "Moi@toto.fr"
.bcc = ""
.Subject = "sujet du mail"
.Attachments.Add ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
.Body = "Bonjour, le message a mettre dans le mail "
.display 'ou alors utiliser
'.Send 'pour envoi
End With

'Effacer le fichier envoyé
'Kill ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"

Set OutMail = Nothing
Set OutApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub

pour le moment le mail est simplement préparé...

une fois tout comme il faut mettre en commentaire la ligne

.display

et mettre actif la ligne

.send

Fred

Parfait,

comme je dois le personnalisé avant l'envoi c'est nickel

MERci

Rechercher des sujets similaires à "macro envoi mail"