Mail avec signature par defaut [Résolu]

Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Dernière intervention
31 août 2016
- - Dernière réponse : lal1
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Dernière intervention
31 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
Afficher la suite 

Votre réponse

8 réponses

Messages postés
23553
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
Bonjour.

Outlook...Incredimail.Application...?


Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
Commenter la réponse de jordane45
Messages postés
23553
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
Bonjour,

Peut être avec :

.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute 



Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
Commenter la réponse de jordane45
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Dernière intervention
31 août 2016
0
Merci
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
Commenter la réponse de lal1
Messages postés
23553
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
Je viens de tomber là dessus.
Une piste à étudier ^^

http://www.rondebruin.nl/win/s1/outlook/signature.htm


Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
Commenter la réponse de jordane45
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Dernière intervention
31 août 2016
0
Merci
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
Commenter la réponse de lal1
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Dernière intervention
31 août 2016
0
Merci
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.
Commenter la réponse de lal1
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Dernière intervention
31 août 2016
0
Merci
[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
Commenter la réponse de lal1
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Dernière intervention
31 août 2016
0
Merci
Merci jordane45 pour ton aide
Commenter la réponse de lal1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.