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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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...
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
635
Réponses
2
Affichages
717
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
793
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
386
Réponses
5
Affichages
404
Retour