Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

 Comment envoyer un e-mail à plusieurs destinataires dans une liste depuis Excel via Outlook?

Si vous avez plusieurs adresses e-mail dans une colonne de feuille de calcul et que vous souhaitez maintenant envoyer un e-mail à cette liste de destinataires à partir d'Excel directement sans ouvrir Outlook. Cet article, je vais parler de la façon d'envoyer des e-mails à plusieurs destinataires à partir d'Excel en même temps.

Envoyer un e-mail à plusieurs destinataires depuis Excel avec le code VBA

Envoyer un e-mail à plusieurs destinataires avec le classeur actuel en tant que pièce jointe à l'aide du code VBA


flèche bleue bulle droite Envoyer un e-mail à plusieurs destinataires depuis Excel avec le code VBA

Vous pouvez utiliser un code VBA pour envoyer un message à plusieurs destinataires à la fois, procédez comme suit:

1. Maintenez la touche ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: envoyer un e-mail à plusieurs destinataires

Sub sendmultiple()
'updateby Extendoffice
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Display
    End With
End Sub

3. Et puis appuyez sur F5 clé pour exécuter ce code, une boîte de dialogue apparaîtra pour vous rappeler de sélectionner la liste d'adresses, voir capture d'écran:

doc envoyer plusieurs destinataires 1

4. Puis clique OKet un Outlook Votre message s'affiche, vous pouvez voir que toutes les adresses e-mail sélectionnées ont été ajoutées dans le À champ, puis vous pouvez entrer le sujet et composer votre message, voir capture d'écran:

doc envoyer plusieurs destinataires 2

5. Après avoir terminé le message, veuillez cliquer sur Envoyez et ce message sera envoyé à ces destinataires dans votre liste de feuilles de calcul.


flèche bleue bulle droite Envoyer un e-mail à plusieurs destinataires avec le classeur actuel en tant que pièce jointe à l'aide du code VBA

Si vous devez envoyer un message à plusieurs destinataires avec le classeur actuel en pièce jointe, vous pouvez appliquer le code VBA suivant.

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: envoyer un e-mail à plusieurs destinataires avec le classeur actuel en pièce jointe

Sub EmailAttachmentRecipients()
'updateby Extendoffice
    Dim xOutlook As Object
    Dim xMailItem As Object
    Dim xRg As Range
    Dim xCell As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the arresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOutlook = CreateObject("Outlook.Application")
    Set xMailItem = xOutlook.CreateItem(0)
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    With xMailItem
        .To = xEmailAddr
        .CC = ""
        .Subject = ""
        .Body = ""
        .Attachments.Add ActiveWorkbook.FullName
        .Display
    End With
    Set xOutlook = Nothing
    Set xMailItem = Nothing
End Sub

3. Après avoir collé le code, appuyez sur F5 clé pour exécuter ce code, et une boîte de dialogue s'affiche pour vous rappeler de sélectionner les adresses auxquelles vous souhaitez envoyer un message, voir capture d'écran:

doc envoyer plusieurs destinataires 3

4. Puis clique OK bouton et un Outlook Votre message s'affiche, toutes les adresses e-mail ont été ajoutées dans le À champ, et votre classeur actuel a également été inséré en tant que pièce jointe, puis vous pouvez entrer le sujet et rédiger votre message, voir capture d'écran:

doc envoyer plusieurs destinataires 4

5. Puis clique Envoyez pour envoyer ce message à la liste des destinataires avec le classeur actuel en pièce jointe.


Envoyez des e-mails personnalisés à plusieurs destinataires avec différentes pièces jointes:

Avec Kutools pour Excel's Envoyer des emails fonctionnalité, vous pouvez rapidement envoyer des e-mails personnalisés à plusieurs destinataires avec différentes pièces jointes d'Excel via Outlook selon vos besoins. Dans le même temps, vous pouvez également CC ou Cci les messages à une personne spécifique. Cliquez pour télécharger Kutools for Excel!

doc envoyer des e-mails personnalisés 18 1


Article connexe:

Comment envoyer des e-mails de masse personnalisés à une liste depuis Excel via Outlook?


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jose · 2 years ago
    I have this Code, my problem is that it creates one email for each time the condition is not complete, but i want to put all the info that dont reach the condition in only one email

    Sub EnviarCorreo()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim lLastRow As Long
    Dim lRow As Long
    Dim sSendTo As String
    Dim sSendCC As String
    Dim sSendBCC As String
    Dim sSubject As String
    Dim sTemp As String

    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon

    ' Change the following as needed
    sSendTo = ""
    sSendCC = ""
    sSendBCC = ""
    sSubject = "Due date reached"

    Set OutMail = OutApp.CreateItem(0)

    lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    For lRow = 3 To lLastRow
    If Cells(lRow, 9) <> "S" Then
    If Cells(lRow, 2) <= Date Then

    On Error Resume Next
    With OutMail
    .To = sSendTo
    If sSendCC > "" Then .CC = sSendCC
    If sSendBCC > "" Then .BCC = sSendBCC
    .Subject = sSubject

    sTemp = "Hello!" & vbCrLf & vbCrLf
    sTemp = sTemp & "The due date has been reached "
    sTemp = sTemp & "for this project:" & vbCrLf & vbCrLf


    'THIS IS WHAT I WANT TO REPEAT ON EMAIL BODY
    ' Assumes project name is in column B
    sTemp = sTemp & "ID:"
    sTemp = sTemp & " " & Cells(lRow, 1)
    sTemp = sTemp & " Description: "
    sTemp = sTemp & " " & Cells(lRow, 5)
    sTemp = sTemp & " Please take the appropriate"
    sTemp = sTemp & " action." & vbCrLf & vbCrLf
    sTemp = sTemp & " Thank you!" & vbCrLf
    'UNTIL HERE



    .Body = sTemp
    ' Change the following to .Send if you want to
    ' send the message without reviewing first
    .Display
    End With
    Set OutMail = Nothing

    Cells(lRow, 9) = "S"
    Cells(lRow, 10) = "E-mail sent on: " & Now()
    End If
    End If
    Next lRow
    Set OutApp = Nothing
    End Sub
  • To post as a guest, your comment is unpublished.
    steve · 2 years ago
    Morning,


    I am new to trying to write and use macros in excel. My first attempt was to try and create a subset mass email from a large master list. I cut and pasted the first routine, then tried to use it all it did was highlight the cells I requested. no outlook email was created, what did I do wrong? To expand upon my actual request, I really want to target emails by zip code or other subsets. how do I create a macro that will search a column for a given zip code and create an email with all recipients found?

    thank you

    Steve
  • To post as a guest, your comment is unpublished.
    Vinicius · 3 years ago
    Hi ! Every month i should send the same e-mail for diferent providers, but they should not be in the same e-mail..... how could i send the same e-mail for diferent destinations without everyone in the same e-mail ?
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hello, Vinicius,
      To send same email to multiple recipients separately, may be the following article can help you, please view it.
      https://www.extendoffice.com/documents/excel/3560-excel-send-personalized-email.html
  • To post as a guest, your comment is unpublished.
    James V · 3 years ago
    Any way to use this to send from a shared email? I cannot seem to inset a .SendOnBehalfOf field.
  • To post as a guest, your comment is unpublished.
    Robert Springer · 4 years ago
    How can I do this using the BCC line?
    • To post as a guest, your comment is unpublished.
      skyyang · 4 years ago
      Hi, Robert,
      After running the code, the new message window will be opened, you just need to insert the BCC line under the Option tab, see the following screenshot:


      Hope it can help you, thank you!
  • To post as a guest, your comment is unpublished.
    Shashank · 4 years ago
    Hello,

    Thank you for the code.
    Is there a way i can create a command button on the excel and then by clicking on that button the same excel sheet can be sent to multiple recipients as an attachment.
  • To post as a guest, your comment is unpublished.
    Jake · 5 years ago
    Hi,

    The VBA code is working well for me thank you. Is there any way I could create a cell with a button of sorts which triggers the "select mailing list" pop up?

    Jake
  • To post as a guest, your comment is unpublished.
    Matthew · 5 years ago
    This is awesome, exactly what I want.
    Is there anyway to add a feature where you can add a message to the subject line using code....
    I dont want anything in message box