Bonjour,
Pour envoyer ton fichier par courriel, tu peux consulter ce site très complet (en anglais) utilisant CDO.
Sending mail from Excel with CDO
Option Explicit
Sub CreateSendPDF_Outlook()
' Nécessite les références
' - PDFCreator
' - Microsoft Outlook 1x Object Library
Dim pdfjob As PDFCreator.clsPDFCreator
Dim sPDFPath As String, sPDFName As String
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurFile As String
Dim DefaultPrinter
' Chemin de destination
sPDFPath = ThisWorkbook.Path & Application.PathSeparator
' Fichier de destination
sPDFName = "TempPDF.pdf"
' Créer une instance de PDFCreator
Set pdfjob = New PDFCreator.clsPDFCreator
' Avec cette instance
With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + _
vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sPDFPath
.cOption("AutosaveFilename") = sPDFName
.cOption("AutosaveFormat") = 0 ' 0 = PDF
.cClearCache
End With
' Définir l'imprimante PDFCreator par défaut
DefaultPrinter = Application.ActivePrinter
Application.ActivePrinter = "PDFCreator sur Ne00:"
' Lancer l'impression
ThisWorkbook.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
With pdfjob
.cPrinterStop = False
Do Until .cCountOfPrintjobs = 0
DoEvents
Loop
.cClearCache
.cClose
End With
Set pdfjob = Nothing
'
' Envoyer le fichier créer
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
With olMail
.To = "xxx@gmail.com"
.CC = "name2@domain2.com"
.Subject = "Envois d'un fichier PDF en pièce jointe"
.Body = "Vous trouverez ci-joint le fichier PDF ..."
.Attachments.Add sPDFPath & sPDFName
.Display '.Send
End With
' Remettre l'imprimante par défaut
Application.ActivePrinter = DefaultPrinter
' Supprimer le fichier PDF temporaire
Kill sPDFPath & sPDFName
' Petit message
MsgBox "Merci de vérifier que le message apparait dans -messages envoyés- dans votre messagerie OUTLOOK."
' Effacer les variables objets
Set olMail = Nothing
Set olApp = Nothing
End Sub