XL 2016 pièce jointe avec envoi mail VBA

CYRIL CAMPAS

XLDnaute Junior
Bonjour à toute la communauté ! j'écrème les forums depuis ce matin, mais impossible de trouver la solution à mon problème... Je vous explique le contexte :

dans mon entreprise, lorsque nous avons une personne qui se blesse, nous devons remplir un "template sécurité" avec différentes infos. aucune procédure précise n'étant en place à date, voici mon idée pour l'exécution de la macro :

1/ le fichier va s'enregistrer dans un dossier sur le réseau commun de l'usine (défini par "chemin") --> opération qui fonctionne.

2/ le fichier s'imprime en x exemplaire sur l'imprimante reconnue par le PC depuis lequel on travaille (par contre je ne sais pas paramétrer pour que ça sorte en couleur si l'imprimante est compatible - mais pas très grave) --> opération qui fonctionne

3/ un mail qui récapitule quelques infos est envoyé à une adresse toujours identique (= une liste de diffusion) - la je le fais avec mon adresse pour tester, opération qui fonctionne

4/ j'aimerai transformer le chemin du fichier (qui apparait à la fin de mon corps de mail) en lien hypertexte --> Je sèche complètement, je vous sollicite donc !

voici mon code, si toutefois vous aviez une idée !


Sub Archivage()


'définition des variables

Dim chemin As String
Dim fichier As String


'définition des valeurs de chaque variable

chemin = "S:\CPF\ACCES LIBRE\securite\Archivage Fiche investigation\2021\"

fichier = [D4].Value & " " & "le" & " " & [B2].Value & ".xlsm"


'Phase 1 : instruction d'archivage en tenant compte des variables

ActiveWorkbook.SaveAs Filename:=chemin & fichier



'Phase 2 : Impression du Template



ActiveSheet.PageSetup.PrintArea = "impression"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False


'Phase 3 : envoi par mail à FR:Management


Dim LeMail As Variant


Set LeMail = CreateObject("Outlook.Application") 'création d'un objet Outlook



With LeMail.CreateItem(olMailItem)

.Subject = "évènement sécurité" & " " & [D4].Value

.To = "c****.c*******@***********.com"
.Body = "Bonjour à tous" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Nous avons eu un évènement sécurité ce jour le:" & " " & [B2].Value & " " & "à:" & " " & [G2].Value & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Concernant l'employé(e) :" & " " & [D4].Value & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "équipe concernée :" & " " & [G7].Value & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Plus de détails dans le template sécurité" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "P.S. : Vous retrouverez ce fichier archivé dans: & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "S:\***\ACCCES LIBRE\securite\Archivage Fiche Investigation"

'.Display

.Send







MsgBox ("Mail envoyé !")

je peux joindre le fichier ensuite si c'est utile ! merci d'avance pour vos lumières !


End With


End Sub
 

fanch55

XLDnaute Barbatruc
Bonjour,
Choisissez le format Html pour le corps de message :
VB:
 .BodyFormat = 2 ' olFormatHTML
 File = "D:\.........\exemple.pdf"
 .HTMLBody = "<HTML><BODY>" & _
             "Bonjour à tous <Br>" & _
             "Nous avons eu un évènement sécurité ce jour le: blabla <Br>" & _
             "<a href=""" & File & """>Fichier Archivé</a><br>" & _
             "</BODY></HTML>"
 

Discussions similaires