XL 2016 Insérer une pièce joint dans un mail VBA

Leché

XLDnaute Junior
Bonjour ,

J'ai ce code permettant d'envoyer un mail en automatique avec la possibilité de rajouter un commentaire avant envoi du mail et qui renomme le fichier après envoi du mail.

Cependant je souhaiterais joindre des pièces jointes dans le mail. Avez vous une idée de comment procéder ?
De plus est-il possible d'augmenter la plage de saisie du commentaire? afin d'avoir une meilleur visualisation.

Cordialement,
Leché

VB:
Sub Send_Email()
  Dim OutlookApp As Outlook.Application
  Dim OutlookMail As Outlook.MailItem
Dim chemin As String, fichier As String, Mem_Fichier$

  Set OutlookApp = New Outlook.Application
  Set OutlookMail = OutlookApp.CreateItem(olMailItem)

  Sheets(1).Unprotect
Mail = Application.InputBox("Souhaitez-vous rajouter un commentaire ?", Type:=2)
Sheets("Feuil1").Range("AC21") = Mail
  Sheets(1).Protect

If MsgBox("tes vous sur de vouloir envoyer le mail ?", vbYesNo + vbInformation, _
"Attention") = vbYes Then

  With OutlookMail
    .BodyFormat = olFormatHTML
    .Display
    .HTMLBody = Range("AC11")
    .To = Range("AC10")
    .Subject = Range("AC9")
    .CC = Range("AC12")
    .Send
  End With
  MsgBox ("Votre Email a été envoyé")

  chemin = ThisWorkbook.Path
fichier = chemin & "\" & Range("B4") & ".xlsm"
Mem_Fichier = ActiveWorkbook.FullName
ActiveWorkbook.SaveAs Filename:=fichier
Kill Mem_Fichier

End If

End Sub
 
Solution
Bonjour @Leché, le forum

Je te propose :
VB:
    .To = Range("AC10")
    .Subject = Range("AC9")
    .CC = Range("AC12")
    .Send

'Essaye 1 ==> 'MonFichier est déclaré avec son chemin 
'Declaration du chemin
Dim MonFichier As String
MonFichier="C:\Monchemin\Surmondisquedur\montruc\monmachin.xlsm"

    .Attachments.Add (MonFichier)

'Essaye 2 ==> Si par exemple l'adresse de ton fichier est dans la cellule A1 (tu dois avoir le chemin complet du fichier)
'exemple : C:\Monchemin\Surmondisquedur\montruc\monmachin.xlsm
'Si chemin réseau ==> \\Monchemin\MonRepServeur\Montruc\Monmachin.xlsm
'Autrement essaye avec le Z:\\... 'Z doit correpondre à la lettre du serveur si c'est W mettre W etc....
'ET il faut que tout le monde est accès au...

Phil69970

XLDnaute Barbatruc
Bonjour @Leché, le forum

Je te propose :
VB:
    .To = Range("AC10")
    .Subject = Range("AC9")
    .CC = Range("AC12")
    .Send

'Essaye 1 ==> 'MonFichier est déclaré avec son chemin 
'Declaration du chemin
Dim MonFichier As String
MonFichier="C:\Monchemin\Surmondisquedur\montruc\monmachin.xlsm"

    .Attachments.Add (MonFichier)

'Essaye 2 ==> Si par exemple l'adresse de ton fichier est dans la cellule A1 (tu dois avoir le chemin complet du fichier)
'exemple : C:\Monchemin\Surmondisquedur\montruc\monmachin.xlsm
'Si chemin réseau ==> \\Monchemin\MonRepServeur\Montruc\Monmachin.xlsm
'Autrement essaye avec le Z:\\... 'Z doit correpondre à la lettre du serveur si c'est W mettre W etc....
'ET il faut que tout le monde est accès au serveur ET avec la même arborescence.
    .Attachments.Add ActiveSheet.Range("A1").Value

'Essaye 3 ==> adresse en dur de ton fichier
    .Attachments= "C:\Monchemin\Surmondisquedur\montruc\monmachin.xlsm"

'......... le reste de ton code

*Merci de ton retour

@Phil69970
 

Discussions similaires