Envoyer classeur excel via Outlook avec enregistrement automatique du classeur

Bichonnet

XLDnaute Junior
Bonjour à tous,

Je suis novice dans le VBA et j'ai parcouru avidement ce site et ce forum à la recherche d'un code me permettant de créer un Bouton permettant d'envoyer le document excel en question en pièce jointe via Outlook.

En résumé, j'ai un formulaire vierge avec des champs à compléter. Je voudrais que la personne qui reçoit ce formulaire puisse, quand elle l'a rempli, cliquer sur le bouton "SEND" pour que le doc soit mis en pièce jointe d'un nouveau mail via Outlook.

Où j'en suis ?
J'ai réussi à recompiler un code permettant de mettre en pièce jointe la dernière version enregistrée (ainsi que le destinataire, objet,...).

Ce qu'il me manque ?
1) Des lignes de codes qui permettraient d'envoyer la dernière version du doc --> enregistrer automatiquement le fichier qq part le temps de l'envoyer et le supprimer ensuite. Ce qui permettrait à Monsieur X recevant le formulaire par mail de l'ouvrir et de ne pas devoir l'enregistrer lui-même pour pouvoir l'envoyer.

2) Mon code fonctionne si Outlook est déjà ouvert, est-il possible de faire en sorte qu'Outlook s'ouvre pour l'envoyer ?

Voici mon code :

Sub Mail_Workbook_4()
' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
' This example sends the last saved version of the Activeworkbook object .
Dim OutApp As Object
Dim OutMail As Object
Dim DEST As String

DEST = ActiveSheet.Range("B1")
'L adresse mail du destinataire est dans la cellule B1

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
' Change the mail address and subject in the macro before you run it.
With OutMail
.To = DEST
.CC = ""
.BCC = ""
.Subject = "Formulaire complété par" & DEST
.Body = "Please see attached the RFI request form - Response"
.Attachments.Add ActiveWorkbook.FullName
' You can add other files by uncommenting the following line.
'.Attachments.Add ("C:\test.txt")
' In place of the following statement, you can use ".Display" to
' display the mail.
.Display
'je peux mettre .Send si je veux qu'il parte directement

End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing

End Sub


Merci pour l'aide !!
 

Statistiques des forums

Discussions
312 184
Messages
2 086 008
Membres
103 089
dernier inscrit
johnjohn1969