Problème Mail piece jointe

Bonjour, bonsoir,

Je suis débutant sur excel et j'ai pour projet de réaliser un facturier automatique.

Je suis arrivé à une étape critique, envoyer ma page "Facture" par mail grâce à un btn d'envoi.

Après de nombreuses recherches et de nombreux échecs je suis arrivé à ouvrir ma messagerie Outlook insérer automatiquement le contenu, les adresses mail et le sujet. Me reste plus qu'a joindre la page.

Merci par avance à ceux qui pendront le temps de me lire et si possible de m'aider !

Voici mon code VBA :

Sub EnvoiMail()

'Déclarations'

Dim LeMail As Variant

Dim sFichier As String

Set LeMail = CreateObject("Outlook.Application")

Set MaFeuille = ThisWorkbook.Sheets("Facture")

Sheets("Facture").Select 'Nom exact la feuille

ActiveSheet.Copy 'crée une copie de la feuille active

'Caractèristique du mail'

With LeMail.CreateItem(olMailItem)

.Subject = MaFeuille.Range("D51") & Range("D2")

.To = MaFeuille.Range("D10").Value

.CC = MaFeuille.Range("D11").Value

.Body = MaFeuille.Range("D53").Value

.Display

End With

ActiveWorkbook.SendMail sFichier, Sujet, True

Application.DisplayAlerts = False

ActiveWorkbook.Close 'ferme la copie de la feuille active

Application.DisplayAlerts = True

End Sub

Bonjour Greg17 ,

voici une proposition:

Sub mail()

    Dim MaFeuille As Worksheet, newWbk As Workbook
    Dim OutApp As Object, OutMail As Object
    Dim Destinataire As String, DestCop As String, Sujet As String, Message As String
    Dim Dossier As String, Fichier As String

    Dossier = ThisWorkbook.Path & "\"
    Set MaFeuille = ThisWorkbook.Sheets("Facture")

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

    MaFeuille.Copy
    Set newWbk = ActiveWorkbook
    Fichier = Dossier & "Facture" & ".xlsx" 'Nom du fichier à adapter

    With newWbk
        .SaveAs FileName:=Fichier
        .Close SaveChanges:=False
    End With

    Destinataire = MaFeuille.Range("D10").Value
    DestCop = MaFeuille.Range("D11").Value
    Sujet = MaFeuille.Range("D51") & MaFeuille.Range("D2")
    Message = MaFeuille.Range("D53").Value

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next

    With OutMail
        .To = Destinataire
        .CC = DestCop
        .Subject = Sujet
        .Body = Message
        .Attachments.Add Fichier
        .Display
        ' .Send 'Pour envoi automatique
    End With

    On Error GoTo 0

    Kill Fichier

    Set OutMail = Nothing
    Set OutApp = Nothing

    With Application
        .DisplayAlerts = False
        .ScreenUpdating = True
        .EnableEvents = True

    End With

End Sub

Cordialement.

Rechercher des sujets similaires à "probleme mail piece jointe"