Envoyer un fichier Excel en Pdf par mail
Salut a tous
J'ai mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Private Sub Sauver_Click()
Dim a As Worksheet
Dim sc As Workbook
Dim nouveauNom As String
Application.ScreenUpdating = False
Set a = ActiveSheet
nouveauNom = "DDE du " & Range("B40").Text & " " & Range("D40").Text & Range("E40").Text
nouveauNom = Replace(nouveauNom, "/", "_")
Set sc = Workbooks.Add(xlWBATWorksheet)
sc.SaveAs (nouveauNom & ".xls")
a.Copy Before:=sc.Sheets(1)
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Workbooks(nouveauNom & ".xls").Close SaveChanges:=False
' Kill nouveauNom & ".xls"
Application.ScreenUpdating = True
Application.DisplayAlerts = False
Application.Quit
Mail
End Sub
Private Sub Mail()
Dim OlApp As Outlook.Application
Dim OlItem As Outlook.MailItem
'Nécessite d'activer la référence "Microsoft Outlook xx.x Object Library"
Set OlApp = New Outlook.Application
Set OlItem = OlApp.CreateItem(olMailItem)
With OlItem
.To = "fcl31@msn.com"
.Subject = nouveauNom
.Body = nouveauNom
.Attachments.Add "C:\Users\FCL31\Desktop\PDF\" & nouveauNom & ".pdf"
.Categories = "Daily"
.OriginatorDeliveryReportRequested = True
.ReadReceiptRequested = True
' .Send
End With
Set OlItem = Nothing
Set OlApp = Nothing
End Sub |
Cela me permet d'envoyer un fichier Excel en Pdf par mail avec le nom du fichier en fonction de différentes donnée de cellules (c'est le but en tout cas)
La première partie marche bien mais j'ai un problème sur la seconde :
Le fichier se cré bien en Pdf (dans l'endroit désigné dans "PdfCreator"), et s'enregistre en .xls (dans "Mes Documents")
Mais sa m'affiche une fenêtre d'erreur avec le message suivant :
Erreur d'exécution '-693698558 (d6a70002)'
et ne me propose pas de débogage.
J'ai constaté par contre que si je compare le fichier .xls et le fichier .pdf, j'ai un espace en plus avant le ".xls"
J'ai par exemple : DDE du 01_01_1900.pdf et DDE du 01_01_1900 .xls
Je pense que le problème viens de là mais je n'arrive pas à le résoudre
Merci de votre aide