Envoyer un mail automatique via Outlook avec un bouton en VBA

skygoat76

XLDnaute Junior
Bonjour,

Je souhaiterais en appuyant sur un bouton de macro que cela envoie un mail automatiquement via Outlook avec "Vous avez une nouvelle action" à une personne tierce.
 

skygoat76

XLDnaute Junior
Re : Envoyer un mail automatique via Outlook avec un bouton en VBA

Bonjour pierrequimousse (tu n'aurais pas un cousin namassepasmousse ? blague au passage),

Alors je développe :

Je souhaite avoir un bouton dans une feuille excel avec le nom X de la personne concernée.
Quand je clique sur ce bouton, je voudrais que l'action soit totalement transparente (que ca ne m'ouvre pas une fenêtre Outlook ou autre) et que cela envoie un mail automatique avec pour objet "Nouvelles actions" et pour contenu "merci de consulter le tableau, vous avez de nouvelles actions"

Est-ce possible?
 

pierrequimousse

XLDnaute Junior
Re : Envoyer un mail automatique via Outlook avec un bouton en VBA

Salut Skygoat,

Oui ca devrait se faire, essaie ca : (à adapter, je n'en suis pas l'auteur je crois que ça vient de JB à la base...) La première partie de la macro sert à enregistrer un onglet pour l'envoyer en PJ, il faudra que tu la supprime en gardant ce qui est nécessaire

Pour que ça marche il faut ajouter une référence outlook : dans l'utilitaire VBA outil->références tu cherche microsoft outlook XX.0 object library s'il n'est pas dans la liste il faut aller le chercher dans program files/ microsoft office/ office 12 et le fichier s'appelle msoutl.olb


la deuxième partie de la macro permet d'envoyer le mail : msg.to = destinataire, msg.subject = objet et msg.body = le contenu de ton mail.

Voila j'espère que ca va pouvoir t'aider !!


Sub envoi_Feuille()
répertoireAppli = ActiveWorkbook.Path ' Penser à Outils/Références/Outlook à rajouter
Sheets("BL").Copy ' crée un classeur avec la feuille résultats
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs répertoireAppli & "\" & Feuil2.[E2].Value & ".xls"
ActiveWindow.Close
'--- Envoi par mail
Dim olapp As Outlook.Application
Sheets("MAIL et Base").Select
Range("E11").Select
Do While Not IsEmpty(ActiveCell)
Dim msg As MailItem
Set olapp = New Outlook.Application
Set msg = olapp.CreateItem(olMailItem)
msg.To = ActiveCell.Value
msg.Subject = Range("E2").Value
msg.Body = Range("E5").Value & Chr(13) & Chr(13) & Range("E8").Value & Chr(13) & Chr(13)
msg.Attachments.Add Source:=répertoireAppli & "\" & Feuil2.[E2].Value & ".xls"
msg.Send
ActiveCell.Offset(1, 0).Select
Loop
End Sub
 

Discussions similaires

Réponses
2
Affichages
313
Réponses
16
Affichages
615

Statistiques des forums

Discussions
312 520
Messages
2 089 285
Membres
104 084
dernier inscrit
dadap