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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager