Bonjour à tous !
Je dois développer une macro pour mon boss et s'il m'avait permi de faire autre chose qu'une formation "initiation VBA" de 2 jours, je l'aurais sans doute déjà finalisée ;-)
Le but : une macro attribuée à un bouton dans outlook, qui affiche un userform puis une fois rempli et validé, génère un mail HTML avec les champs intégrés dans des cellules d'une table.
1) bouton macro => ok ça va
2) userform : j'ai jusque là utilisé la fonction <InputBox> pour récupérer un champs, mais je ne sais pas comment utiliser un formulaire plus complexe (combobox + radios + etc... créé sous excel jusque là)
3) Pour générer le message automatique, j'ai utilisé <sMsgBody> qui me permet d'intégrer mes champs et de faire des paragraphes. Or, il faudrait que j'utilise une mise en page complexe HTML type table avec les champs saisis dans certaines cellules.
Je sais que j'en demande beaucoup... Mais quelqu'un de beaucoup plus doué que moi aurait-il une idée de la macro en question, ou juste une piste pour utiliser mon UserForm et/ou formuler la création de mon mail via des balises html à l'intérieur de ma macro ?
PS :
Je vous joins mon code actuel pour vous montrer que j'essaie des trucs malgré mes faibles capacités !!! lolll
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 Sub new_mail() Dim objMail As Outlook.MailItem Dim sector As String Dim country As String Dim company As String Dim sMsgBody As String sector = InputBox("Sector") country = InputBox("Country") company = InputBox("Company") sMsgBody = "Sector: " + UCase(sector) + " / " + "Country: " + UCase(country) + vbCr + vbCr sMsgBody = sMsgBody & "..." & vbCr sMsgBody = sMsgBody & "..." & vbCr sMsgBody = sMsgBody & "..." & vbCr & vbCr & vbCr & vbCr Set objMail = Application.CreateItem(olMailItem) objMail.Subject = "(xxx Minutes) Block " + UCase(company) objMail.Body = sMsgBody Set theRecipientA = objMail.Recipients.Add("bip@bip.com") Set theRecipientCC = objMail.Recipients.Add("bop@bop.com;bap@bap.com") theRecipientCC.Type = olBCC objMail.Display End Sub
Partager