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 Sub

Pas 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 Function

pour 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

Rechercher des sujets similaires à "aide mails automatiques via 2003"