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 d'un email et méthode Select [XL-2007]


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
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Par défaut Envoi d'un email et méthode Select
    Bonjour les Amis,

    Cela fait longtemps que je ne suis pas venu ici. Mais bon me revoilà.

    J'espère que vous allez tous bien en tout cas

    Voilà mon souci:

    J'ai une procédure pour créer un mail dans laquelle à un moment donné j'utilise l'instruction Select pour que les destinataires du mail soient sélectionnés mais ca ne marche pas. Pourtant dans mon bouquin VBA ils proposent l'utilisation de Select.

    Dans l'onglet Recipients j'ai la liste des destinataires de mon email.

    Quelqu'un peut me dire pourquoi cela ne marche pas ?

    Merci d'avance,

    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
    Private Sub BTN_Emails_Click()
     
    Dim My_Outlook As New Outlook.Application
    Dim My_Message As Outlook.MailItem
    Dim List_Recipients As Worksheet
     
    On Error Resume Next
     
    Set List_Recipients = ThisWorkbook.Worksheets("Recipients")
     
    Set My_Message = My_Outlook.CreateItem(olMailItem)
     
    With My_Message
        .Subject = "Approval payment order - Expat TE"
        .Body = "Chère Véronique, je te prie de trouver ci-après un ordre de paiement à approuver." _
            & vbCrLf & "Cordialement." & vbCrLf & vbCrLf & "Arrabito Ricardo"
        .BodyFormat = olFormatHTML
     
     
     
     
        List_Recipients.Range("A1").Select
     
        Do While ActiveCell <> ""
     
            .Recipients.Add (ActiveCell.Value)
            ActiveCell.Offset(1, 0).Select
        Loop
     
        .Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
        .Send
     
    End With
     
    'My_Outlook.Quit
     
    Set My_Outlook = Nothing
    Set My_Message = Nothing
    Set List_Recipients = Nothing
     
    End Sub

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    essayes comme ça (fait sans tester, bien sur)
    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
    Private Sub BTN_Emails_Click()
     
    Dim My_Outlook As New Outlook.Application
    Dim My_Message As Outlook.MailItem
    Dim List_Recipients As Worksheet
    Dim cel As Range, plg As Range, derlg As Long
     
    On Error Resume Next
     
    Set List_Recipients = ThisWorkbook.Worksheets("Recipients")
    With List_Recipients
      derlg = .Range("A" & .Rows.Count).End(xlUp).Row
      Set plg = .Range("A1:A" & derlg)
    End With 
    Set My_Message = My_Outlook.CreateItem(olMailItem)
     
    With My_Message
        .Subject = "Approval payment order - Expat TE"
        .Body = "Chère Véronique, je te prie de trouver ci-après un ordre de paiement à approuver." _
            & vbCrLf & "Cordialement." & vbCrLf & vbCrLf & "Arrabito Ricardo"
        .BodyFormat = olFormatHTML
     
        For Each cel In plg
          .Recipients.Add cel.Value
        Next cel
        'ou
        '.recipients.list = plg
     
        .Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
        .Send
     
    End With
     
    'My_Outlook.Quit
     
    Set My_Outlook = Nothing
    Set My_Message = Nothing
    Set List_Recipients = Nothing
     
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Envoi d'un email sans passer par outlook
    Par mosquitout dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 30/12/2005, 19h23
  2. envoi automatique d'email
    Par zorba49 dans le forum ASP
    Réponses: 3
    Dernier message: 20/12/2005, 13h43
  3. Envoi Formulaire par Email, la soupe...!
    Par ni31x dans le forum Langage
    Réponses: 14
    Dernier message: 19/12/2005, 22h04
  4. envoi automatique d'email
    Par zorba49 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/12/2005, 15h39
  5. Envoie de l'email par le composant TIdSMTP
    Par C-H-A-P-L-A-S-T dans le forum Composants VCL
    Réponses: 23
    Dernier message: 01/12/2005, 08h38

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