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 :

probleme d'envoi d'un mail en vba [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 326
    Par défaut probleme d'envoi d'un mail en vba
    Bonjour,

    Mon code bloque sur mon monmessage.to pouvez vous m'indiquez pourquoi ?

    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
     
    Dim MonOutlook As Object
    Dim MonMessage As Object
     
    Set MonOutlook = CreateObject("Outlook.Application")
    Set MonMessage = MonOutlook.CreateItem(0)
     
    'corps du  message
     
    'Message
    Message_Mail = "Bonjour," _
     & Chr(10) _
      & Chr(10) & "Test" _
     & Chr(10) & Chr(10) _
     & Chr(10) & Chr(10) & "Cordialement " _
     & Chr(10) & Chr(10) 
     
     
    cpt = Sheets("PARAMETRES").Cells(Rows.Count, 10).End(xlUp).Row
     
    For L = 2 To cpt
    If Sheets("PARAMETRES").Cells(L, 13) = "A FAIRE" Then GoTo line1 Else GoTo line2
    line1:
    Application.Wait Now + TimeValue("0:00:05")
    'variable
    'Piece jointe
    REP_PJ = Sheets("PARAMETRES").Range("F6")
    FIC_PJ = Sheets("PARAMETRES").Cells(L, 10)
    CHEMIN_PJ = REP_PJ & FIC_PJ
    'liste
    NOM = Sheets("PARAMETRES").Cells(L, 8)
    Set a = Sheets("PARAMETRES").Range("A:A").Find(NOM, lookat:=xlWhole)
    lig = a.Row
    LISTE_A = Sheets("PARAMETRES").Cells(lig, 2)
    LISTE_CC = Sheets("PARAMETRES").Cells(lig, 3)
    LISTE_CCI = Sheets("PARAMETRES").Cells(lig, 4)
     
    'envoi
    MonMessage.to = LISTE_A
    MonMessage.CC = LISTE_CC
    MonMessage.BCC = LISTE_CCI
    MonMessage.Attachments.Add CHEMIN_PJ
    MonMessage.Subject = "test envoi"
    MonMessage.Body = Message_Mail
    MonMessage.Send
    Set MonOutlook = Nothing
    Sheets("PARAMETRES").Cells(L, 13) = "Fait le  " & Now()
    line2:
    Next
    J'ai environ 60 mails a envoyer.

    Merci pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 326
    Par défaut
    Le fait de ne pas avoir de copie (CC) ou copie caché (CCI) pour certains peux t il impacter le script ?

    Il bloque au bout de 2 envois

    Message d'erreur erreur -2147221238 (8004010a) l'élément a été déplacé

    Il y a un souci je pense sur le fait que j'ai mis une boucle

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 326
    Par défaut
    Bonjour,

    j'ai modifié le code comme ci dessous cela fonctionne
    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
    Sub D_ENVOI_MAIL()
    
    Dim olApp As Outlook.Application
    Dim olMail As MailItem
    Dim Ficjoint As String
    Set olApp = New Outlook.Application
    Set olMail = olApp.CreateItem(olMailItem)
    Dim LISTE_A, LISTE_CC, LISTE_CCI, Message_MAIL, Titre As String
    
    
    'Message_Mail = "Bonjour," _
     & Chr(10) _
      & Chr(10) & "Test" _
     & Chr(10) & Chr(10) _
     & Chr(10) & Chr(10) & "Cordialement " _
     & Chr(10) & Chr(10) 
     
    cpt = Sheets("PARAMETRES").Cells(Rows.Count, 10).End(xlUp).Row
     
    For L = 2 To cpt
    Set olMail = olApp.CreateItem(olMailItem)
    If Sheets("PARAMETRES").Cells(L, 13) = "A FAIRE" Then GoTo line1 Else GoTo line2
    line1:
    Application.Wait Now + TimeValue("0:00:05")
    'variable
    'Piece jointe
    REP_PJ = Sheets("PARAMETRES").Range("F6")
    FIC_pj = Sheets("PARAMETRES").Cells(L, 10)
    CHEMIN_PJ = REP_PJ & FIC_pj
    'titre
    Titre = Replace(FIC_pj, ".xlsx", "")
    
    'récupération de la  bonne liste d'envoi
    NOM = Sheets("PARAMETRES").Cells(L, 8)
    Set a = Sheets("PARAMETRES").Range("A:A").Find(NOM, lookat:=xlWhole)
    lig = a.Row
    LISTE_A = Sheets("PARAMETRES").Cells(lig, 2)
    LISTE_CC = Sheets("PARAMETRES").Cells(lig, 3)
    LISTE_CCI = Sheets("PARAMETRES").Cells(lig, 4)
    
    'envoi du  mail 
    olMail.To = LISTE_A
    olMail.CC = LISTE_CC
    olMail.BCC = LISTE_CCI
    olMail.Attachments.Add CHEMIN_PJ
    olMail.Subject = Titre
    olMail.Body = Message_MAIL
    olMail.Send
    Set olMail = Nothing
    Sheets("PARAMETRES").Cells(L, 13) = "Fait le  " & Now()
    line2:
    Next
    
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Envoi d'un mail en VBA > 818 caractères
    Par Poussecafe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/04/2012, 17h17
  2. Message de sécurité à l'envoi d'un mail en VBA
    Par apacheblanc dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 10/06/2010, 21h23
  3. [Mail] probleme d' envoi d'un mail
    Par botambaoaks dans le forum Langage
    Réponses: 9
    Dernier message: 22/08/2006, 13h00
  4. [Mail] Probleme d'envoi d'e-mail
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2006, 15h33
  5. Envoi d'un mail en VBA: outlook ne se lance pas
    Par Hannibal dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/06/2003, 15h24

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