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 mail à plusieurs destinataires [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 33
    Points : 9
    Points
    9
    Par défaut Envoi mail à plusieurs destinataires
    Bonjour,

    Je cherche à trouver un moyen d'envoyer un mail de façon automatique à partir d'un fichier excel à plusieurs personnes car pour l'instant je n'arrive à envoyer qu'à une seule personne. Le fichier que j'envoi est un tableau dynamique.

    Si vous avez des solutions pour mon problème je suis dispo car après m'être renseigné sur des sujets similaires au mien je n'ai toujours pas de solution

    Merci d'avance

    Voici mon 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
    69
    70
    71
     
    Sub Macro1()
     
    'Déclaration des variables
        Dim EmailSup, Signature As String
        Dim MyOlapp As Object
        Dim myItem
        Dim olMailItem
        Dim myRecipients
        Dim myAttachments
     
        EmailSup = "bike@sapo.com"
        Signature = "Monsieur "
     
        Dim Img As String, Plage As Range, PathTmp As String
        PathTmp = Environ$("temp") & "\"
        Img = "Image.jpg"
        Sheets("DOS Recurrent").Select
        Set Plage = Range("A1:K70")
     
     
     
        'Création d'un fichier image dans le répertoire temporaire
        Plage.CopyPicture
        With ActiveSheet.ChartObjects.Add(0, 0, Plage.Width, Plage.Height)
            .Activate
            .Chart.Paste
            .Chart.Export PathTmp & Img, "JPG"
        End With
     
        ActiveSheet.ChartObjects(ActiveSheet.ChartObjects.count).Delete
     
     
     
        Set OutApp = CreateObject("outlook.application")
        Set OutMail = OutApp.CreateItem(olMailItem)
     
     
     
     ' Là, j'envoie le mail
     
     
     
            Set MyOlapp = CreateObject("Outlook.Application")
            Set myItem = MyOlapp.CreateItem(olMailItem)
            Set myRecipients = myItem.Recipients
            myRecipients.Add (EmailSup)
            Set myAttachments = myItem.Attachments
     
            myItem.Subject = " Vérification des tickets  "
     
            myItem.Attachments.Add PathTmp & Img, olByValue, 0
            myItem.HTMLBody = "<span LANG=FR><p class=style2>" _
                & "<font FACE=Calibri SIZE=3>Bonjour,<br><br>" _
                & "Vous trouverez ci-dessous  " _
                & Format(JourJ, "dd/mm/yyyy") & "<br><br>" _
               & "Lien vers le fichier source : \\nas337_2304.phys.prod\Pilotage\Statistiques\Tableauxdebord\2016_S39_AnalyseECLS.xlsm<br><br>" _
                & "<img src='cid:" & Img & "'</font></span>"
            myItem.Send
     
     
     
        On Error GoTo 0
        Set OutMail = Nothing
        Set OutApp = Nothing
        Kill PathTmp & Img
     
     
     
     
    End Sub

  2. #2
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut
    Essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EmailSup = "bike@sapo.com; toto@toto.com; tonadressemail@mail.com"
    Et lis ça

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 33
    Points : 9
    Points
    9
    Par défaut
    C'est la première chose que j'ai essayé de faire mais il m'indique une erreur : impossible de reconnaître un ou plusieurs noms.

    Je vais regarder le lien

  4. #4
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut
    As tu essayé comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EmailSup = "bike@sapo.com"; "toto@toto.com"; "tonadressemail@mail.com"
    Tu peux aussi trouver des pistes ici.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 33
    Points : 9
    Points
    9
    Par défaut
    Oui sa ne fonctionne pas du tout , sa apparaît tout en rouge


    Et par rapport à ton premier lien j'ai essayé de tester des choses mais j'ai toujours des erreurs parce que je ne sais pas où insérer le .To comme dans son exemple vu que moi j'utilise pas forcément le même principe que lui


    Merci en tout cas pour toutes tes propositions de solutions

  6. #6
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut
    Ne peux tu pas envoyer ton mail comme ça :

    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
    Sub Mail_small_Text_Outlook()
    'For Tips see: http://www.rondebruin.nl/win/winmail/Outlook/tips.htm
    'Working in Office 2000-2016
        Dim OutApp As Object
        Dim OutMail As Object
        Dim strbody As String
     
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
     
        strbody = "Hi there" & vbNewLine & vbNewLine & _
                  "This is line 1" & vbNewLine & _
                  "This is line 2" & vbNewLine & _
                  "This is line 3" & vbNewLine & _
                  "This is line 4"
     
        On Error Resume Next
        With OutMail
            .To = "ron@debruin.nl"
            .CC = ""
            .BCC = ""
            .Subject = "This is the Subject line"
            .Body = strbody
            'You can add a file like this
            '.Attachments.Add ("C:\test.txt")
            .Send   'or use .Display
        End With
        On Error GoTo 0
     
        Set OutMail = Nothing
        Set OutApp = Nothing
    End Sub
    Source

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 33
    Points : 9
    Points
    9
    Par défaut
    Le problème c'est que je veux envoyer mon tableau par mail comme ci :

    Nom : Capture.PNG
Affichages : 787
Taille : 41,8 Ko


    Mais du coup en utilisant cette méthode la que tu m'indique j'arrive pas à insérer ce tableau dans le corps du mail

  8. #8
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut
    Regarde ceci, ça peut t'aider à mettre ton tableau dans le corps du mail.
    (Pas testé avec un TCD)

    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
    Sub Send_Range()
     
       ' Select the range of cells on the active worksheet.
       ActiveSheet.Range("Ta Range, enfin ton tableau.").Select
     
       ' Show the envelope on the ActiveWorkbook.
       ActiveWorkbook.EnvelopeVisible = True
     
       ' Set the optional introduction field thats adds
       ' some header text to the email body. It also sets
       ' the To and Subject lines. Finally the message
       ' is sent.
       With ActiveSheet.MailEnvelope
          .Introduction = "This is a sample worksheet."
          .Item.To = "E-Mail_Address_Here"
          .Item.Subject = "My subject"
          .Item.Send
       End With
    End Sub

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 33
    Points : 9
    Points
    9
    Par défaut
    J'ai tester ton code et sa marche .

    Merci pour ton aide

    Voici le 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
    Sub Macro1()
     
    'Déclaration des variables
     
     
       ' Select the range of cells on the active worksheet.
        Sheets("DOS Recurrent").Select
       ActiveSheet.Range("A1:K70").Select
     
     
       ' Show the envelope on the ActiveWorkbook.
       ActiveWorkbook.EnvelopeVisible = True
     
       ' Set the optional introduction field thats adds
       ' some header text to the email body. It also sets
       ' the To and Subject lines. Finally the message
       ' is sent.
       With ActiveSheet.MailEnvelope
          .Introduction = "This is a sample worksheet."
          .Item.To = "toot@hotmail.com; blabla@hotmail.com"
          .Item.Subject = "My subject"
          .Item.Send
       End With
    End Sub

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 33
    Points : 9
    Points
    9
    Par défaut
    Par contre j'ai une autre question je voudrais pouvoir mettre avant " This is a sample worksheet" , Bonjour bienvenue


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With ActiveSheet.MailEnvelope
          .Introduction = "This is a sample worksheet."

    Du coup sur mon mail j'aurais :

    Bonjour, bienvenue

    This is a sample worksheet

    Puis mon tableau

    et a la fin je voudrais avoir : Bien cordialement

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

Discussions similaires

  1. [XL-2010] Envoi mail à plusieurs destinataires
    Par graphikris dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 30/04/2016, 12h34
  2. envoi mail à plusieurs destinataires
    Par ph_anrys dans le forum Langage
    Réponses: 1
    Dernier message: 17/03/2009, 22h40
  3. Envoi d'un mail à plusieurs destinataires
    Par coco38 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 27/04/2007, 22h15
  4. [Mail] envoie mail à plusieurs destinataires
    Par coco38 dans le forum Langage
    Réponses: 8
    Dernier message: 18/04/2007, 11h57
  5. [javax.mail] envoi à plusieurs destinataires
    Par michaelbob dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 29/05/2006, 12h41

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