Envoyer un mail avec piece jointe sous vba [Résolu/Fermé]

- - Dernière réponse : JO882161
Messages postés
6
Date d'inscription
mercredi 4 janvier 2017
Statut
Membre
Dernière intervention
5 janvier 2017
- 5 janv. 2017 à 13:18
Bonjour à tous,

Je vous explique mon problème :
Je travaille actuellement sous word et j'aimerais créer un bouton sur ce document qui me permettrait quand je clique dessus de pouvoir envoyer ce même document par mail en tant que pièce jointe. De plus je souhaiterais pouvoir inscrire l'adresse d'envoi, le sujet sur vba.

J'ai trouvée plusieurs codes dont Send mail qui me permet de mettre mon document en pièce jointe mais je ne trouve pas comment rajouter l'adresse de destination, le sujet etc.

Private Sub CommandButton1_Click()

ActiveDocument.SendMail

End Sub


Pouvez vous m'aider ???

Par avance merci pour votre aide
Afficher la suite 

6 réponses

Meilleure réponse
16
Merci
Je viens de trouver ma réponse voici la marche à suivre :

Private Sub CommandButton1_Click()


Set myApp = CreateObject("Outlook.Application")
Set myItem = myApp.CreateItem(olMailItem)
myItem.Subject = "subject"
myItem.Body = "Body text"
myItem.Attachments.Add ThisDocument.Path & "\" & ThisDocument.Name
myItem.to = "test@test.fr"
myItem.Display
myItem.Send



End Sub

J'espère que cela pourra être utile à quelqu'un d'autre. En tout cas je trouve ce forum vraiment super

Dire « Merci » 16

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 69615 internautes nous ont dit merci ce mois-ci

Merci beaucoup, 4a marche nickel!!
JO882161
Messages postés
6
Date d'inscription
mercredi 4 janvier 2017
Statut
Membre
Dernière intervention
5 janvier 2017
> adri -
Bonjour,

Je n'arrive pas avec ce .Attachements :(

With .Item
.To = Worksheets("Mail").Range("B23")
.CC = ""
.BCC = ""
.Subject = "Klusi"
.Attachements.Add ("Q:\ZLS-Command_Temp\UST Mühleberg Duplex 16kV Ltg. Illiswil")
.Send ' envoie automatique
End With
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3715
0
Merci
bonjour

je ne trouve pas comment rajouter l'adresse de destination, le sujet etc.

Tu peux regarder cette méthode qui fonctionne sous word.

Par contre tu devrais mettre ta macro dans un fichier commun plutôt que dans ton document afin qu'elle soit disponible pour tout autre fichier.
0
Merci
Merci pour la réponse, j'avais déjà vu ce post auparavant mais étant plus que débutante en vba je ne comprends pas tout.
Je pensais qu'il existait une méthode simple juste pour rajouter le destinataire et l'objet car quand je rentre la ligne de code : ActiveDocument.SendMail
ma fenêtre de mail s'ouvre avec mon doc en pièce jointe.

J'avais trouvé sur un autre post cette ligne de commande :
Set myApp = CreateObject("Outlook.Application")
Set myItem = myApp.CreateItem(olMailItem)
myItem.Subject = "subject"
myItem.Body = "Body text"
myItem.to = "ocalegari@yahoo.fr"
myItem.Display
myItem.Send

qui me permettait de rentrer le sujet, le destinataire etc. mais en revanche elle ne permet pas de mettre mon fichier en pièce jointe.
Faut'il que je rajoute la commande "ActiveDocument.SendMail" et si oui à quel endroit.

Merci pour votre aide
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3715
0
Merci
bonjour,

Si tu veux documenter entièrement ton message, la méthode FollowHyperlink est plus adaptée que SendMail qui n'est pas prévue pour cette fonction.

La méthode est bien expliquée sur ce site et il suffit de renseigner les variables définies. Tu peux bien sûr supprimer tout ce qui ne concerne pas ton environnement pour le courrielleur utilisé par exemple.
0
Merci
c'est vraiment gentil de ta part de m'aider mais comme je te disais auparavant je suis une très grande débutante.

moi ce que je souhaiterais avoir c'est la ligne de code exacte que je dois saisir sous vba pour envoyer mon doc en piece jointe avec le destinataire prédéfinie.
Je sais que j'en demande beaucoup mais je ne suis pas assez calé pour y arriver seul
Messages postés
2
Date d'inscription
jeudi 11 février 2016
Statut
Membre
Dernière intervention
18 février 2016
0
Merci
Bonjour,

Je suis absolument novice en VBA.

La commande macro suivante fonctionne pour créer un nouveau mail avec une pièce jointe définie :

Sub AddAttachment()
Dim myItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
Set myItem = Application.CreateItem(olMailItem)
Set myAttachments = myItem.Attachments
myAttachments.Add "C:\Temp\Pièce jointe.pdf"
myItem.Display
End Sub

Que dois-je changer pour que cette macro ne crée pas un nouveau mail mais s'applique au mail actif, actuellement ouvert ?

Merci pour votre aide !