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

  • Initiateur de la discussion Initiateur de la discussion OIiv109
  • Date de début Date de début

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 !

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

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

Réponses
2
Affichages
715
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
634
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
386
Réponses
6
Affichages
669
Retour