lal1
Messages postés14Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention31 août 2016
-
19 juil. 2013 à 20:54
lal1
Messages postés14Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention31 août 2016
-
24 juil. 2013 à 23:02
Bonjour,
je suis dans excel et je voudrais programmer l'envois de mon fichier par mail.
J'arrive a faire le mail avec liste d envoi, sujet, pièce jointe et texte, mais je n'arrive pas a insérer la signature par défaut de Outlook.
Je trouve plein de poste mais je me perds a force, je ne suis pas toujours sur que les sujets sont bien pour du VBA sous excel.
voici mon code :
[code=vb]V_MailAdr = "alain.moissonnier@mpsa.com" 'addresse de diffusion
V_MailObj = "Résultat championnat SNOOKER" 'object du mail
V_MailPjointe = ActiveWorkbook.Path & "" & ActiveWorkbook.Name 'pièce jointe
V_MailTxt = "Bonjour à tous," & vbCr & vbCr & _
"Voici les derniers résultats comptant pour le Championnat 2013." & vbCr & vbCr & vbCr & _
"Cordialement" 'text du mail
'MsgBox V_MailTxt
'----Création du mail----
' With CreateObject("Outlook.Application").CreateItem(olMailItem)
With CreateObject("Incredimail.Application").CreateItem(olMailItem)
.Display 'affiche le mail
.to = V_MailAdr 'envoi a
' .Cc = "" 'envoi copie a
' .bcc = "" 'envoi caché
.Subject = V_MailObj 'sujet du mail
.body = V_MailTxt 'text du mail
.Attachments.Add V_MailPjointe
.Display 'affiche le mail
' .send 'pour envoyer de suite le mail en auto
End With/code
lal1
Messages postés14Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention31 août 2016 19 juil. 2013 à 22:10
Bonsoir,
le code est pour Outlook mais cher moi j'utilise Windows live mail c'est pour cela que je fait d'autre essai et j'ai mal nettoye mon code avant de poster
j'ai teste cette commande mais elle ne change rien, pas d'erreur mais pas de changement non plus.
.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
lal1
Messages postés14Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention31 août 2016 24 juil. 2013 à 21:13
J'ai réussis avec la commande
[code=autre].GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute/code il faut juste faire le .display avant cette commande autrement ça ne fonctionne pas !
Donc le code donne ca
[code=autre] With CreateObject("Outlook.Application").CreateItem(olMailItem)
.display 'affiche le mail
.To = V_MailAdr 'envoi a
' .Cc = "" 'envoi copie a
' .bcc = "" 'envoi caché
.Subject = V_MailObj 'sujet du mail
.Attachments.Add V_MailPjointe
.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
.body = V_MailTxt & .body 'text du mail
' .htmlbody = V_MailTxt 'text du mail
' .send 'pour envoyer de suite le mail en auto
End With
/code
lal1
Messages postés14Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention31 août 2016 24 juil. 2013 à 22:13
Ben en faite non, ça ne fonctionne pas !
la signature ne vient pas suffisamment vite ce qui fait que la commande ne fonctionne pas en auto mais uniquement en pas a pas.
Je ne pense pas qu'il soit possible d'insérer une pause d'une seconde dans la commande. Je commence a désespérer.
lal1
Messages postés14Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention31 août 2016 24 juil. 2013 à 22:16
[code=autre] Application.Wait (Now + TimeValue("00:00:01"))/code en plein code fonctionne
ouf
Donc le code final :
[code=autre] With CreateObject("Outlook.Application").CreateItem(olMailItem)
.To = V_MailAdr 'envoi a
' .Cc = "" 'envoi copie a
' .bcc = "" 'envoi caché
.Subject = V_MailObj 'sujet du mail
.Attachments.Add V_MailPjointe
.display 'affiche le mail
.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
Application.Wait (Now + TimeValue("00:00:01"))
.body = V_MailTxt & .body 'text du mail
' .htmlbody = V_MailTxt 'text du mail en format HTML
' .send 'pour envoyer de suite le mail en auto
End With
/code