XL 2016 Macro pour enregistrer fichier excel en pdf ern pièce jointe d'un mail

OIiv109

XLDnaute Nouveau
Bonjour,

J'ai copié une macro qui permet d'enregistrer en pièce jointe en format pdf nommé selon résultats cellules dans un mail avec objet du mail selon résultats de cellules.

Le problème c'est que cette macro fonctionne dans le fichier depuis lequel je l'ai copié.

Après modification des résultats des cellules pour le nom du fichier et l'objet du mail cela ne fonctionne pas et affiche boite de dialogue ''débogage''.

Pouvez-vous m'aider ?

En pièce jointe le fichier concerné et ci-dessous la macro et ce qui est concerné par le débogage est la partie 'Enregistrer la feuille en pdf

Sub Mail()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim OutApp As Object
Dim OutMail As Object
Dim S As Shape
Dim sNomFic As String, sRep As String, WshShell As Object
Dim LeNom As String
LeNom = Range("D1") & "-" & "- Client :" & Range("C12").Value
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
' Créer une instance Windows Script pour retrouver le chemin du bureau
Set WshShell = CreateObject("WScript.Shell")
sRep = WshShell.SpecialFolders("Desktop")
Set WshShell = Nothing
' Définit le nom du fichier à enregistrer
sNomFic = LeNom & ".pdf"
' Enregistrer la feuille en PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sRep & "\" & sNomFic, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = ""
.Cc = ""
.Attachments.Add (sRep & "\" & sNomFic)
.Subject = Range("D1") & "-" & Range("C10") & "- COMMERCIAL :" & Range("C11") & "- CLIENT :" & Range("C12").Value
.Display
End With

With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Kill (sRep & "\" & sNomFic)
End Sub
 

Pièces jointes

  • BDC LMF_ANGLES_2019.xlsm
    113 KB · Affichages: 6

Lolote83

XLDnaute Barbatruc
Salut,
Sans aucune assurance mais modifie la ligne suivante comme ceci
Avant
LeNom = Range("D1") & "-" & "- Client :" & Range("C12").Value
Après
LeNom = Range("D1") & " - Client " & Range("C12").Value
Je ne peut aller plus loin dans le code pour la partie mail, mais j'ai bien le fichier enregistré en PDF sur le bureau
@+ Lolote83
 

Discussions similaires

Réponses
6
Affichages
269
Réponses
17
Affichages
1 K

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG