IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Envoi automatique de mail depuis une boîte générique Outlook


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1
    Par défaut Envoi automatique de mail depuis une boîte générique Outlook
    Bonjour à Tous,

    Je me permets de vous soumettre un petit problème que je n'arrive pas à résoudre malgré mes recherches sur le Web. J'ai adapté un code trouvé sur ce forum pour envoyer des mails automatiquement. Il fonctionne très bien (merci à son auteur). Toutefois, l'envoi des mails se fait par l'intermédiaire de mon adresse personnelle. Or j'utilise cette macro pour envoyer des newsletters à mes clients. Donc je reçois de nombreux remerciements (ce qui est plutôt sympathique), des avis d'absences, etc. Comme j'en envoie plus de 1000, les réponses s'amassent dans ma boîte de réception. Nous avons, une boite info@monentreprise.ch que j'aimerais utiliser. Y a-t-il un moyen de faire l'envoi depuis cette boîte plutôt que depuis la mienne.

    Voici une partie du code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    Sub SendMails()
     
        Dim MonOutlook As New Outlook.Application
        Dim MyMail As MailItem
        Dim AdresseFile As String, Civilité As String, objet As String
        Dim CorpsTexte(), FichiersAttachés()
        Dim NbFichiers As Integer, NbTextes As Integer, PosDeb As Integer, PosFin As Integer, NbMsgEnvoyés As Integer, NbMsgErr As Integer
        Dim Dummy As Integer, TxtMsgBox As String, NoLigne As Double, TexteMessage As String, adresse_mail As String
        Dim Feuille As Worksheet
        Dim MailError As Boolean
     
        Set MyMail = MonOutlook.CreateItem(olMailItem)
     
    (...)
    '--------------------------------------------------------------------------
    ' Envoi du message
    '--------------------------------------------------------------------------
    Do While Cells(NoLigne, 4).Value <> vbEmpty
     
    (...)
     
     
    '--------------------------------------------------------------------------
    ' Création du mail
    '--------------------------------------------------------------------------
     
                    Set MyMail = MonOutlook.CreateItem(olMailItem)
                    MyMail.To = adresse_mail                                                
                    MyMail.Subject = objet                                                  
                    MyMail.Body = TexteMessage                                              
                    If NbFichiers > 0 Then
                        For Dummy = 1 To NbFichiers
                            MyMail.Attachments.Add (FichiersAttachés(Dummy))
                        Next Dummy
                    End If
     
                    On Error Resume Next
                    MyMail.Send
                    If Err.Number <> 0 Then
                    Cells(NoLigne, 8) = "Problème: message non envoyé. " & Err.Number & " " & Err.Description
                        NbMsgErr = NbMsgErr + 1
                    Else
                        Cells(NoLigne, 8) = "Envoyé"
                        NbMsgEnvoyés = NbMsgEnvoyés + 1
                    End If
                End If
     
            End If
     
            NoLigne = NoLigne + 1
     
        Loop
        '--------------------------------------------------------------------------------------------------------------------------------------------------------
     
        Set MonOutlook = Nothing
     
        If NoSend = True Then
            MsgBox ("Aucun message n'a été réellement envoyé! ")
        Else
            TxtMsgBox = Format(NbMsgEnvoyés, "0") & IIf(NbMsgEnvoyés > 1, " messages envoyés.", " message envoyé.") & Chr(10)
            If NbMsgErr = 0 Then TxtMsgBox = TxtMsgBox & "Aucun message n'a généré d'erreur d'envoi"
            If NbMsgErr = 1 Then TxtMsgBox = TxtMsgBox & "Un message a généré une erreur d'envoi (cf base d'adresses)"
            If NbMsgErr > 1 Then TxtMsgBox = TxtMsgBox & Format(NbMsgErr, "0") & " messages ont généré des erreurs d'envoi (cf base d'adresses)"
            If NbMsgErr = 0 And NbMsgEnvoyés = 0 Then TxtMsgBox = "Sélectionnez les message à envoyer en indiquant un 'x' en face de l'adresse email"
            MsgBox (TxtMsgBox)
        End If
     
    End Sub
    Je n'ai pas mis toute la macro car je me laisse le choix du message d'accompagnement selon la personne récipiendaire, des civilités, etc. Bien évidemment, en cas d'intérêt,j e peux l'uploader.

    Merci à vous tous de m'indiquer s'il existe une solution à mon problème.

    Cordialement,

    Pierre-Alain

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Ajoute la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyMail.SendUsingAccount = MonOutlook.Session.Accounts("info@monentreprise.ch")
    après :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MyMail = MonOutlook.CreateItem(olMailItem)

Discussions similaires

  1. [AC-2013] Envoi de mail depuis une bdd access avec un nom de sender que je choisis
    Par alpha_du_centaure dans le forum Access
    Réponses: 8
    Dernier message: 22/12/2014, 21h35
  2. Réponses: 1
    Dernier message: 15/11/2012, 01h08
  3. Problème envoi de mail depuis une fieldpoint
    Par DDMichel dans le forum LabVIEW
    Réponses: 0
    Dernier message: 28/05/2008, 14h40
  4. [Mail] envoi automatique de mail
    Par calitom dans le forum Langage
    Réponses: 17
    Dernier message: 04/04/2006, 16h21
  5. Envoyer un mail depuis une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 03/10/2005, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo