Envoi Outlook sans library
Bonjour,
j'en appelle à vos lumières car je me casse les dents sur un problème qui me rend dingue.
Le contexte :
J'ai créé un formulaire sous excel 365 afin que mes commerciaux puissent générer un numéro dossier automatiquement.
une fois ce formulaire complété, ils lancent une macro qui ventile les infos collectées dans un tableau, créée une fiche de synthèse de l'offre, enregistre cette fiche sous format pdf sur le serveur puis envoie par mail ce fichier en pièce jointe avec moi-même comme destinataire et le commercial en copie.
Tout fonctionne sur la macro sauf à partir du moment où la macro arrive à l'envoie de fichier.
Pour compliquer le tout j'ai des commerciaux sous mac, d'autres sous PC et ils attaquent tous le fichier sur sharepoint avec ouverture locale pour faire fonctionner la macro.
Pouvez-vous m'aider à corriger ce code s'il vous plait sachant qu'il faut faire un envoi sans faire appel aux bibliothèques Outlook.
Ci-dessous le code pour créer le PDF, l'enregistrer sur le serveur et l'envoyer en pièce jointe (s'il n'est pas beau, soyez indulgents c'est mon premier) :
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
| Dim sRep As String ' Répertoire de sauvegarde
Dim sFilename As String ' Nom du fichier
Sheets("Chrono").Select
sFilename = "Chrono" & "-" & Range("A5").Value & "." & "pdf"
'répertoire où le pdf va être sauvegardé
sRep = "\\interne\COMMERCIAL\00_Chronos\"
Range("C2:G50").Select
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:=sRep & sFilename, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Dim messageHTML As Variant
Dim objMessage As Variant
Set objMessage = CreateObject("CDO.Message")
Sheets("Chrono").Select
Mail = Sheets("Chrono").Range("f50").Value
With oBjMail
.To = ""
.Cc = Range("F50")
.Subject = "Test PDF chrono" ' l'objet du mail
.Body = "Ceci est un message automatique" 'le corps du mail ..son contenu
.Attachments.Add sRep & sFilename
.Display ' Ici on peut supprimer pour l'envoyer sans vérification
.Send
MsgBox "Le mail a été bien envoyé !" 'Confirmation de l'envoi
End With
Set objMessage = Nothing |