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
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