Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 pièce jointe avec envoi mail VBA

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 !

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
 
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>"
 
- 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
718
Réponses
7
Affichages
731
  • Question Question
Microsoft 365 Excel VBA
Réponses
14
Affichages
828
Réponses
11
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…