Envoyer un mail avec piece jointe sous vba

Résolu
olivia -  
JO882161 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

6 réponses

olivia
 
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
18
adri
 
Merci beaucoup, 4a marche nickel!!
0
JO882161 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > 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
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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
olivia
 
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
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
olivia
 
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
0
Scrameustache2 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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 !
0