Aide sur les mails automatiques via Excel 2003
Bonjour à tous,
J'ai besoin d'aide pour mon travail.
En effet, j'ai créer un fichier excel version 2003 qui doit être envoyer par mail en cliquant simplement sur un bouton dans le fichier.
J'ai créé la macro suivante dans ThisWorkbooks
Sub EnvoiMail()
SendMail Recipients:="monadresse@email.com"
End Sub
Le problème lorsque je clic sur ma case d'envoi il me demande toujour l'autorisation avant de l'envoyer.
J'aimerai, pour un gain de temps, qu'il envoi le fichier automatiquement.
Note peut-être importante, j'utilise Outlook en messagerie !?
Pouvez-vous m'aider ?
Merci beaucoup.
Bonjour BEA59,
Essaie avec ce code :
Sub EnvoiMail()
Application.DisplayAlerts = False
ThisWorkbook.SendMail Recipients:="monadresse@email.com"
End SubPas sûr que ça marche mais bon.
avec la méthode SendMail, outlook va toujours te demander une confirmation ( protection de sécurité ). Voici une autre méthode pour envoyer directement un mail sans passer par outlook
Public Sub MailCDO(Sender As String, Receiver As String, Subject As String, BodyText As String, Optional Cc As String, Optional Bcc As String, Optional PJ As String)
Dim Cdo_Message As New CDO.Message
Set Cdo_Message.Configuration = GetSMTPServerConfig()
With Cdo_Message
.To = Receiver
.From = Sender
.Subject = Subject
.Cc = Cc
.Bcc = Bcc
.TextBody = BodyText
.AddAttachment (PJ)
.Send
End With
Set Cdo_Message = Nothing
End Sub
Function GetSMTPServerConfig() As Object
Dim Cdo_Config As New CDO.Configuration
Dim Cdo_Fields As Object
Set Cdo_Fields = Cdo_Config.Fields
With Cdo_Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = Sheets("Config").Range("B4") ' l'adresse IP du serveur SMTP
.Item(cdoSMTPServerPort) = Sheets("Config").Range("B5") 'le Port du serveur
.Update
End With
Set GetSMTPServerConfig = Cdo_Config
Set Cdo_Config = Nothing
Set Cdo_Fields = Nothing
End Functionpour appeler la function:
Call MailCDO("Expediteur@mail.ca", "Destinataire@mail.ca", "Titre du sujet", "Le texte")tu peux ajouter un CC, BC et une pieces jointes, pour l'exemple j'ai appelé la fonction avec un message simple.La méthode est plus dur à comprendre mais c'est une solution pour outrepasser l'alerte de Outlook.
Bonjour,
Merci à tous pour vos réponses.
En effet, avec la méthode Sendmail ça ne fonctionne pas malheureusement, Math, je suis une débutante dans les macros et j'ai beaucoup de mal à réaliser celle que tu m'a envoyée.
Donc pour résumer je n'y arrive pas !! Mais je ne perd pas espoir !
Si vous avez une méthode plus simpliste pour une pauvre débutante ou un guide pour les nuls !!!
En tout cas merci beaucoup pour vos réponses si rapide !
Béa