Macro pour envoyer un mail

R

Rémi83

Guest
Bonjour le forum,

Je voudrais savoir s'il est possible de créer une macro pour envoyer du courriel. C'est pour mon travail. J'ai créé une feuille de calculs et j'aimerais qu'on puisse l'envoyer à différents destinataires par simple clic sur un bouton marqué 'Envoyer'. A mon avis, un envoi en une seule étape est impossible. Mais allez savoir !...
Merci d'avance de vos aimables contributions.

Rémi.
 

Brigitte

XLDnaute Barbatruc
Bonjour,


Voici une macro dénichée sur xld (je remercie son auteur) et qui me rend bien des services, à savoir notamment l'envoi de la feuille active... ce qui évite d'avoir à enregistrer ladite feuille toute seule si on ne veut pas envoyer tout le classeur....

Code:
Sub MacroMail()
Dim AccuseReception As Boolean
Dim Sujet As String
      '
      ActiveWorkbook.Windows(1).SelectedSheets.Copy
      AccuseReception = True
      Sujet = 'Titre au choix'
      ActiveWorkbook.SendMail '', Sujet, AccuseReception
      ActiveWorkbook.Close False
End Sub

Bon courage.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Alors là Brigitte t'es rapide

Bon alors en passant par Outlook (et je mets ton adresse mail pour montrer comment ça marche ;) :woohoo: )

Option Explicit

Sub envoieMail()

Dim Sujet As String, AdresseMail As String, Message As String
Dim NbreRapport As Byte
Dim OL, olMailItem, MyItem

Sujet = 'Attention important'
AdresseMail = 'Brigitte@xld.fr'
Message = 'Veuillez trouver ci-joint le fichier'

Set OL = CreateObject('Outlook.Application')
Set MyItem = OL.CreateItem(olMailItem)
With MyItem
.To = AdresseMail
.Subject = Sujet
.Body = Message
.Attachments.Add 'C:\\tmp\\MonDoc.xls'
.Categories = 'Banking-Info'
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Send
End With

End Sub

Bonne journée
 

gringours

XLDnaute Nouveau
Re : Re:Macro pour envoyer un mail

Bonjour,


Voici une macro dénichée sur xld (je remercie son auteur) et qui me rend bien des services, à savoir notamment l'envoi de la feuille active... ce qui évite d'avoir à enregistrer ladite feuille toute seule si on ne veut pas envoyer tout le classeur....

Code:
Sub MacroMail()
Dim AccuseReception As Boolean
Dim Sujet As String
      '
      ActiveWorkbook.Windows(1).SelectedSheets.Copy
      AccuseReception = True
      Sujet = 'Titre au choix'
      ActiveWorkbook.SendMail '', Sujet, AccuseReception
      ActiveWorkbook.Close False
End Sub

Bon courage.


Bonjour,
je ne comprends pas, la fonction ActiveWorkbook.Windows(1).SelectedSheets.Copy
moi je l'ai remplacé par :
.Attachments.Add ActiveWorkbook.Windows.SelectedSheet
Afin d'envoyer uniquement la feuille de calculs et non le classeur en entier.
Bon par contre ça ne fonctionne pas.
Quelqu'un aurait il une idée ?? merki ;o)

gringours
 

scratik

XLDnaute Nouveau
Re : Macro pour envoyer un mail

Bonjour

Je "rebondis" sur ces différents échange car je recherche le meme genre de fonction : affecter à un bouton une fonction pour envoyer par mail (via outlook) la feuille Excel en cours...

Si vous avez trouvé une solution cela m'intéresse !! ;-)

Bonne journée
 

Paindep

XLDnaute Nouveau
Re : Macro pour envoyer un mail

J'utilise ça qui marche sous 2003 et 2007 (j'ai testé que ceux-ci) :

Dim ol As Object
Set ol = CreateObject("Outlook.Application")
Dim olmail As Object
Set olmail = ol.CreateItem(MailItem)
With olmail
.To = "TEST@TEST.FR"
.Subject = "Ceci est le sujet du mail"
.Body = "Dans le message il y'aura sa" & vbCrLf & _
"Sa aussi, mais a la ligne" & lst_nom.Value & vbCrLf & _
.Send
End With

Set ol = Nothing
Set olmail = Nothing

Je pense que qu'il n'y a rien de plus simple pour l'envoi de mail, avec outlook.
 

Guiv

XLDnaute Occasionnel
Re : Macro pour envoyer un mail

Bonjour à tous,

Il n'est pas possible d'envoyer en pièce jointe une feuille d'un fichier ouvert, d'où la nécessité de la copier, puis de détruire la copie.
Il y a plein d'exemples et de techniques différentes en cherchant sur le forum.
Celle-ci fonctionne sous Microsoft OutLook (je n'ai plus hélas le nom de l'auteur, qu'il m'excuse):

Code:
Sub SendEMailwithAttachments()

Dim NouveauClasseur As Workbook
Dim Destinataire As String
Destinataire = [COLOR="Red"]"toto@machin.fr"[/COLOR] [COLOR="SeaGreen"]'à adapter[/COLOR]
Dim Objetmessage As String
Objetmessage = [COLOR="Red"]"Pièce jointe"[/COLOR] [COLOR="SeaGreen"]'à adapter[/COLOR]

Application.ScreenUpdating = False

ThisWorkbook.Sheets("MaFeuille").Copy [COLOR="SeaGreen"]'feuille que tu veux envoyer[/COLOR]
Set NouveauClasseur = ActiveWorkbook
NouveauClasseur.SaveAs Objetmessage

Dim ol As Object, myItem As Object
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.To = Destinataire
myItem.Subject = Objetmessage
myItem.Body = [COLOR="Red"]"Bonjour, ceci est un email avec fichier joint"[/COLOR] [COLOR="SeaGreen"]'à adapter[/COLOR]
[COLOR="SeaGreen"]'fichier en cours d'utilisation envoyé en attaché:[/COLOR]
myItem.attachments.Add ActiveWorkbook.FullName
myItem.Send
Set ol = Nothing

Application.DisplayAlerts = False
With NouveauClasseur
.ChangeFileAccess xlReadOnly
Kill .FullName
Application.DisplayAlerts = True
.Close False
End With

End Sub

Cordialement,
Guiv
 

Discussions similaires

Réponses
1
Affichages
287
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 932
Messages
2 093 733
Membres
105 802
dernier inscrit
Witchun