Passer au contenu principal
 

Tutoriel Excel – Envoyer des e-mails depuis Excel

Auteur : Siluvia Dernière modification: 2022-08-18

Normalement, nous utilisons des clients de messagerie tels que Outlook, Gmail, etc. pour envoyer des e-mails. Cependant, de nombreuses personnes stockent des données dans des classeurs Excel et doivent envoyer certaines données à d'autres pendant qu'elles travaillent avec. Par conséquent, ils doivent envoyer des e-mails directement à partir du classeur Excel, ce qui permet de gagner du temps lors de l'utilisation d'un client de messagerie. Ce didacticiel étape par étape vous montrera comment envoyer des e-mails à partir d'Excel dans différentes conditions.

Notes: Avant d'appliquer les méthodes suivantes, vous devez configurer un client de messagerie Outlook sur votre ordinateur et le définir comme client de messagerie par défaut.

Sommaire : [ Cacher ]

(Cliquez sur n'importe quel titre dans la table des matières ci-dessous ou à droite pour accéder au chapitre correspondant.)

1. Les bases de l'envoi d'emails depuis Excel

Cette section présente les bases de l'envoi d'e-mails à partir d'Excel.

1.1 Envoyer des e-mails depuis Excel avec les fonctions intégrées d'Excel

Si vous souhaitez uniquement envoyer des e-mails simples à partir d'Excel, y compris uniquement les champs À, Objet, Cc et corps. Les fonctions intégrées dans Excel peuvent vous aider.


1.1.1 Envoyer un e-mail depuis Excel avec une formule

Comme indiqué dans le tableau ci-dessous, pour envoyer différents e-mails à partir d'Excel en fonction des champs donnés, vous pouvez utiliser les références de cellule des champs donnés pour créer différentes formules de lien hypertexte pour le faire. Après avoir créé les hyperliens des e-mails, vous pouvez cliquer sur l'hyperlien dont vous avez besoin pour envoyer un e-mail automatiquement.

Remarque : S'il y a plus d'un destinataire dans les champs À ou Cc, veuillez les séparer par des points-virgules.

Cette section est divisée en quatre parties pour vous montrer les étapes pour ajouter l'adresse e-mail, le ou les destinataires Cc, la ligne d'objet et le corps du texte séparément à la formule de lien hypertexte. Veuillez procéder comme suit.

La syntaxe et les arguments de HYPERLINK fonction sont les suivantes.

Syntaxe

HYPERLINK(link_location, [friendly_name])

Arguments

Emplacement_lien (obligatoire) : chemin et nom de fichier du document à ouvrir ;
Conseils : Dans ce didacticiel, tous les champs dont nous avons besoin pour un e-mail, tels que l'adresse e-mail du destinataire, le ou les destinataires Cc, la ligne d'objet et le corps du texte, doivent être placés dans le premier argument "link_location".
Nom familier (facultatif) : la valeur de saut affichée dans la cellule.

1.1.1.1 Ajouter une adresse e-mail à la formule de lien hypertexte

Ici nous utilisons "mailto:" dans le cadre de la formule pour ajouter un destinataire de courrier électronique. Dans cet exemple, l'adresse e-mail du premier destinataire se trouve dans la cellule B2, nous devons donc ajouter "mailto :" et la référencer à la cellule B2.

“mailto:”&B2

1. Sélectionnez une cellule pour afficher le lien hypertexte. Dans ce cas, je sélectionne la cellule F2.

2. Entrez ensuite la formule suivante.

=HYPERLINK("mailto:"&B2)

Notes: Si vous appuyez sur la Entrer clé, un lien hypertexte sera créé comme indiqué dans la capture d'écran ci-dessous. Lorsque vous cliquez sur le lien, un e-mail Outlook sera créé et l'adresse e-mail du destinataire sera automatiquement renseignée dans le champ À.

L'adresse e-mail du destinataire est maintenant ajoutée à la formule Hyperlien. Veuillez continuer avec les étapes suivantes pour ajouter la ligne d'objet, le(s) destinataire(s) Cc et le corps du texte selon vos besoins.


1.1.1.2 Ajouter le(s) destinataire(s) Cc à la formule Hyperlink

Pour ajouter le(s) destinataire(s) Cc à la fonction Hyperlien, veuillez ajouter "?cc=" dans le cadre de la formule comme suit.

"?cc=" & C2
où C2 contient l'adresse e-mail du destinataire cc.

La formule dans la cellule F2 doit être la suivante :

=HYPERLINK("mailto:" & B2 & "?cc=" & C2)


1.1.1.3 Ajouter une ligne d'objet à la formule de lien hypertexte

Pour ajouter la ligne d'objet à la fonction Hyperlien, veuillez ajouter "&sujet=" dans le cadre de la formule comme suit.

"&sujet="& D2
où C2 contient l'objet de l'e-mail.

La formule dans la cellule F2 devrait maintenant ressembler à ceci :

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)


1.1.1.4 Ajouter un corps de texte avec des sauts de ligne à la formule de lien hypertexte

La dernière étape consiste à ajouter le corps du texte à la formule Hyperlink. Comme vous pouvez le voir dans l'exemple, deux lignes de texte dans E2 sont séparées par un saut de ligne et vous souhaitez conserver le saut de ligne dans le corps de l'e-mail. Outlook reconnaît-il le saut de ligne dans ce cas ? Vérifions-le.

Pour ajouter le corps du texte à la formule de lien hypertexte, vous devez ajouter "&corps=" dans le cadre de la formule comme suit.

"&corps="& E2
où E2 contient le corps du texte de l'e-mail.

La formule de la cellule F2 s'affiche désormais comme suit :

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)

Remarque : Si vous appuyez sur la Entrer touche et cliquez sur le lien. Vous pouvez voir dans le nouvel e-mail que le contenu du corps de l'e-mail est affiché sur la même ligne.

Pour afficher le corps de l'e-mail sur des lignes séparées, vous devez modifier le contenu de la cellule en ajoutant le code du caractère de retour chariot % 0A au texte où vous devez insérer un saut de ligne. Voir capture d'écran :


1.1.1.5 Spécifier le texte à afficher pour le lien hypertexte

Dans les étapes ci-dessus, nous avons terminé l'argument Link_location avec des champs d'e-mail. Ici, dans cette section, nous allons terminer le prochain argument [friendly_name].

Dans ce cas, je souhaite que la cellule de lien hypertexte affiche le texte sous la forme "Courriel à xx», où xx est le nom du destinataire en A2. Ainsi, la formule dans F2 doit être remplacée par :

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)

Appuyez sur la touche Entrer clé pour obtenir le résultat.

Sélectionnez cette cellule de formule et faites-la glisser Poignée de remplissage automatique vers le bas pour créer d'autres hyperliens de messagerie. Voir capture d'écran :


1.1.2 Envoyer un e-mail depuis Excel avec la fonction Hyperlien

À l'exception de l'utilisation de la formule de lien hypertexte ci-dessus, vous pouvez créer manuellement un lien hypertexte d'e-mail avec le insérer Lien hypertexte fonction dans Excel. Cette section va vous montrer les étapes.

1. Cliquez avec le bouton droit sur un e-mail où vous souhaitez insérer un lien hypertexte, sélectionnez Lien dans le menu contextuel.

2. Dans le pop-up Insérer un lien hypertexte boîte de dialogue, vous devez configurer comme suit.

2.1) Sélectionnez Adresse courriel dans le volet de gauche.
2.2) Dans le Texte à afficher zone de texte, saisissez le texte que vous souhaitez afficher dans la cellule ;
Astuces: vous ne pouvez pas utiliser de références de cellule dans cette boîte de dialogue, vous devez donc saisir manuellement les champs d'e-mail comme suit.
2.3) Dans le Adresse électronique zone de texte, vous devez saisir les adresses e-mail suivantes.
mailto :adresse e-mail
Veuillez remplacer le texte "adresse e-mail” avec votre véritable adresse e-mail. Si vous avez plusieurs adresses e-mail, séparez-les par un point-virgule.
2.4) Dans le Sujet zone de texte, vous pouvez spécifier l'objet et le corps de votre e-mail ici. Veuillez configurer comme suit :
Objet de l'e-mail&body=Corps de l'e-mail
Dans ce cas, je tape Vente mensuelle&body=Bonjour,%0AEmail reçu.
> dont le sujet est Vente mensuelle ;
et
> le corps de l'email est :
Bonjour,
Courriel reçu. (% 0A est le code du caractère de retour chariot qui peut être reconnu par Outlook)
2.5) Cliquez sur le OK bouton pour enregistrer le lien hypertexte. Voir capture d'écran :

Lorsque vous cliquez sur le lien hypertexte, un e-mail Outlook sera créé avec les champs À, Objet et Corps spécifiés, comme indiqué dans la capture d'écran ci-dessous.

Florales:

1) Avec cette méthode, vous deviez créer manuellement les hyperliens des e-mails.
2) Vous ne pouvez pas ajouter le champ Cc aux e-mails avec cette méthode. Donc, si vous avez besoin du champ Cc, veuillez l'ajouter à partir de la nouvelle fenêtre d'e-mail d'ouverture.

1.2 Envoyer un e-mail à plusieurs destinataires dans des cellules avec un script VBA

Dans l'exemple ci-dessus, vous pouvez voir que plusieurs adresses e-mail sont affichées dans une cellule, séparées par des points-virgules. Si vous avez une liste d'adresses e-mail comme indiqué dans la capture d'écran ci-dessous et que vous souhaitez leur envoyer un e-mail ou un e-mail indépendant, le code VBA suivant peut vous rendre service.


1.2.1 Envoyer un e-mail à plusieurs destinataires dans des cellules avec un script VBA

1. Dans la feuille de calcul contenant toutes les adresses e-mail auxquelles vous souhaitez envoyer l'e-mail. appuyez sur la autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module, puis collez le code suivant dans le Module (Code) fenêtre.

Code VBA : envoyer un e-mail à une liste d'adresses e-mail

Sub sendmultiple()
'updateby Extendoffice 20220802
    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
        .Subject = "Test"
        .Body = "Dear " _
                & vbNewLine & vbNewLine & _
                "This is a test email " & _
                "sending in Excel"
        .Display
    End With
End Sub

3. appuie sur le F5 clé pour exécuter le code et une Kutools for Excel boîte de dialogue apparaît. Sélectionnez la liste des adresses e-mail et cliquez sur OK.

Notes:

1) Si vous ne souhaitez pas que la boîte de dialogue ci-dessus s'affiche et que vous souhaitez spécifier directement la plage d'adresses e-mail dans le code, veuillez remplacer cette ligne :
Définir xRg = Application.InputBox("Veuillez sélectionner la liste d'adresses :", "Kutools for Excel", xTxt, , , , , 8)
avec
Définir xRg = Plage("A2:A7")
2) Vous pouvez spécifier l'objet et le corps de votre e-mail dans les lignes suivantes :
.Sujet = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Pour envoyer directement l'e-mail sans ouvrir la nouvelle fenêtre de message suivante, vous devez remplacer cette ligne :
.Afficher
avec
.Envoyer

Après avoir exécuté le code, toutes les adresses e-mail de la plage sélectionnée sont affichées dans le champ À de la fenêtre de message. Voir capture d'écran :


1.2.2 Envoyer séparément des e-mails à chaque destinataire répertorié dans les cellules avec le script VBA

Le code ci-dessus ajoute toutes les adresses e-mail de la plage sélectionnée au champ À de la fenêtre de message. Si vous souhaitez envoyer des e-mails à chaque adresse e-mail répertoriée dans les cellules séparément sans leur permettre de voir les adresses e-mail de l'autre, vous pouvez essayer le script VBA suivant.

1. Dans la feuille de calcul contenant toutes les adresses e-mail auxquelles vous souhaitez envoyer les e-mails. appuyez sur la autre + F11 clés de ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module, puis collez le code suivant dans la fenêtre Module (Code).

Code VBA : envoyez des e-mails à chaque adresse e-mail répertoriée dans les cellules séparément

Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

3. Puis clique Outils > Les références. Dans le Références - VBAProject boîte de dialogue, recherchez et cochez Bibliothèque d'objets Microsoft Outlook 16.0 boîte, puis cliquez sur le OK Pour enregistrer les modifications.

4. appuie sur le F5 clé pour exécuter le code et une Kutools for Excel boîte de dialogue apparaît. Sélectionnez la liste des adresses e-mail et cliquez sur D'ACCORD.

Notes:

1) Si vous ne souhaitez pas que la boîte de dialogue ci-dessus s'affiche et que vous souhaitez spécifier directement la plage d'adresses e-mail dans le code, veuillez remplacer cette ligne :
Définir xRg = Application.InputBox("Veuillez sélectionner la liste d'adresses :", "Kutools for Excel", xTxt, , , , , 8)
avec
Définir xRg = Plage("A2:A7")
2) Vous pouvez spécifier l'objet et le corps de votre e-mail dans les lignes suivantes :
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Pour envoyer directement l'e-mail sans ouvrir les fenêtres de message suivantes, vous devez remplacer cette ligne :
.Afficher
avec
.Envoyer

Dans cet exemple, il y a six adresses e-mail dans la plage sélectionnée, donc six fenêtres de message Outlook seront créées automatiquement avec une adresse e-mail distincte répertoriée dans le champ À, comme indiqué dans la capture d'écran ci-dessous.

5. Enfin, cliquez sur Envoyer bouton pour envoyer les e-mails un par un.


2. Insérez des pièces jointes ou une signature Outlook dans les e-mails envoyés depuis Excel (avec des scripts VBA)

Cette section va vous montrer comment insérer des pièces jointes ou la signature par défaut d'Outlook dans les e-mails envoyés depuis Excel.

2.1 Insérer des pièces jointes dans les e-mails envoyés depuis Excel

Nous décrivons ici les différents cas d'insertion de pièces jointes, et vous pouvez choisir la méthode en fonction de vos besoins. Dans cette section, vous pouvez apprendre à (cliquez sur l'un des liens suivants pour accéder à la méthode correspondante) :


2.1.1 Envoyer un certain fichier par e-mail en pièce jointe

Vous pouvez appliquer le code VBA suivant pour envoyer par courrier électronique un ou plusieurs fichiers dans un dossier en tant que pièces jointes à partir d'Excel.

1. appuie sur le autre + F11 clés.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Collez ensuite le code VBA suivant dans la fenêtre Module (Code).

Code VBA : envoyer par e-mail des fichiers dans un dossier en tant que pièces jointes à partir d'Excel

Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = "xxx@aaa.com"
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Florales:

1) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail de votre propre destinataire ;
2) Modifiez l'objet et le corps de l'e-mail séparément dans la ligne .Subject = "test" et .HTMLBody = "test";
3) Vous pouvez ajouter des destinataires Cc et Bcc selon vos besoins. Ajoutez simplement les deux lignes suivantes sous la ligne .À = xxx@aaa.com.
.CC = "adresse e-mail"
.BCC = "adresse e-mail"

3. Puis clique Outils > Les références. Dans le Références - VBAProject boîte de dialogue, recherchez et cochez Bibliothèque d'objets Microsoft Outlook 16.0 boîte, puis cliquez sur le OK Pour enregistrer les modifications.

4. appuie sur le F5 pour exécuter le code, puis un Explorer fenêtre apparaît, veuillez sélectionner les fichiers que vous devez joindre à l'e-mail, puis cliquez sur OK.

Ensuite, une fenêtre de message apparaît. Vous pouvez voir que les fichiers sélectionnés sont affichés en tant que pièces jointes dans le champ Attaché.


2.1.2 Envoyer la feuille de calcul actuelle en pièce jointe

Si vous souhaitez envoyer par courrier électronique la feuille de calcul actuelle en tant que pièce jointe à partir d'Excel, vous pouvez appliquer le script VBA dans cette section.

1. appuie sur le autre + F11 clés.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Collez ensuite le code VBA suivant dans le Module (Code) fenêtre.

Code VBA : envoyez la feuille de calcul actuelle en pièce jointe

Sub SendWorkSheet()
'Update by Extendoffice 20220802
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub

Notes:

1) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
2) Modifiez l'objet et le corps de l'e-mail séparément dans la ligne .Subject = "fonctionnalités kte" et .Body = " Veuillez vérifier et lire ce document.";
3) Dans les deux lignes suivantes :
.CC = "adresse e-mail"
.BCC = "adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "adresse e-mail" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.

3. appuie sur le F5 clé pour exécuter le code, la feuille de calcul en cours est enregistrée en tant que classeur Excel et insérée automatiquement dans une fenêtre de message en tant que pièce jointe. Voir capture d'écran :

Remarque : Le classeur joint qui contient uniquement la feuille de calcul en cours porte le même nom que le classeur d'origine. Et l'heure à laquelle vous exécutez le code est également ajoutée au nom du classeur.


2.1.3 Envoyer le classeur actuel par e-mail en pièce jointe

Après avoir appris le code VBA pour envoyer la feuille de calcul actuelle en pièce jointe à partir d'Excel, nous fournissons ici un autre script VBA pour vous aider à envoyer le classeur entier en pièce jointe. Veuillez procéder comme suit.

1. appuie sur le autre + F11 clés.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Collez ensuite le code VBA suivant dans la fenêtre Module (Code).

Code VBA : envoyez par e-mail le classeur en cours en tant que pièce jointe à partir d'Excel

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Notes:

1) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
2) Modifiez l'objet et le corps de l'e-mail séparément dans la ligne .Subject = "fonctionnalités kte" et .Body = " Veuillez vérifier et lire ce document.";
3) Dans les deux lignes suivantes :
.CC = "adresse e-mail"
.BCC = "adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "adresse e-mail" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.

3. appuie sur le F5 clé pour exécuter le code, puis le classeur en cours est automatiquement inséré dans une fenêtre de message en tant que pièce jointe. Voir capture d'écran :


2.1.4 Envoyer par e-mail l'intégralité du classeur sous forme de pièce jointe au format PDF

Pour la plupart des gens, ils ont tendance à enregistrer un classeur Excel sous forme de fichier PDF, puis à l'envoyer en pièce jointe à d'autres. Dans cette section, je vais vous montrer un moyen d'envoyer des e-mails directement à partir d'Excel avec le classeur ouvert actuel en tant que pièce jointe PDF sans avoir à enregistrer manuellement le classeur en tant que fichier PDF.

1. appuie sur le autre + F11 clés.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Collez ensuite le code VBA suivant dans la fenêtre Module (Code).

Code VBA : envoyez par e-mail l'intégralité du classeur sous forme de pièce jointe au format PDF

Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next

Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName

Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    FilePath, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False

Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
       .To = "xxx@aaa.com"
       .CC = "Email Address"
       .BCC = "Email Address"
       .Subject = "test"
       .Body = "test"
       .Attachments.Add FilePath
       .Display   'or use .Send
   End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub

Notes:

1) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com par l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
2) Modifiez l'objet et le corps de l'e-mail séparément dans la ligne .Subject = "test" et .Corps = "tester";
3) Dans les deux lignes suivantes :
.CC = "Adresse e-mail"
.BCC = "Adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "Adresse Email" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.
4) Le nom du fichier PDF sera le même que le nom du classeur d'origine. Et l'heure à laquelle vous exécutez le code sera également ajoutée au nom du classeur. Si vous n'avez pas besoin d'ajouter l'horodatage au nom du fichier, veuillez supprimer & Format(Maintenant, "jj-mmm-aa h-mm-ss") de la ligne suivante.
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf "

3. appuie sur le F5 clé pour exécuter le code. Ensuite, le classeur en cours est automatiquement inséré dans une nouvelle fenêtre de message en tant que pièce jointe au format PDF. Voir capture d'écran :


2.1.5 Envoyer la feuille de calcul actuelle sous forme de pièce jointe au format PDF

Par exemple, il existe un classeur nommé "Ventes mensuelles", et vous avez terminé un tableau de rapport de ventes dans une feuille de calcul nommée "rapport de ventes" et souhaitez envoyer cette feuille de calcul sous forme de fichier PDF à vos collègues. Le code VBA suivant peut vous rendre service.

1. appuie sur le autre + F11 clés.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Collez ensuite le code VBA suivant dans la fenêtre Module (Code).

Code VBA : envoyez la feuille de calcul actuelle sous forme de pièce jointe au format PDF

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Notes:

1) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
2) Modifiez l'objet et le corps de l'e-mail séparément dans la ligne .Subject = "test" et .Corps = "tester";
3) Dans les deux lignes suivantes :
.CC = "Adresse e-mail"
.BCC = "Adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "Adresse Email" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.
4) Le nom du fichier PDF sera : le nom du classeur d'origine_le nom de la feuille de calcul d'origine. Dans ce cas, le nom du PDF sera Monthly sales_sales report.

3. appuie sur le F5 clé pour exécuter le code. Ensuite, la feuille de calcul en cours est automatiquement insérée dans une nouvelle fenêtre de message en tant que pièce jointe au format PDF. Voir capture d'écran :


2.2 Insérer la signature Outlook dans les e-mails envoyés depuis Excel

Prenons le cas ci-dessus comme exemple, vous appliquez le code VBA ci-dessus pour envoyer la feuille de calcul actuelle en tant que pièce jointe de fichier PDF à partir d'Excel, mais la signature Outlook ne peut pas être ajoutée à la fenêtre de message. Pour conserver la signature par défaut d'Outlook dans l'e-mail envoyé depuis Excel, la méthode suivante vous aidera.

Deux codes VBA sont répertoriés ci-dessous.

Code VBA 1 : Le code aide à conserver la signature Outlook.

Code VBA 2 : le code permet d'envoyer par e-mail la feuille de calcul actuelle sous forme de pièce jointe PDF.

Code VBA 1 : Conserver la signature Outlook

.HTMLBody = "Email body" & "
" & .HTMLBody

Code VBA 2 : envoyez la feuille de calcul actuelle par e-mail en pièce jointe PDF

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

1. Normalement, vous devez appuyer sur la touche autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Collez ensuite le code VBA 2 ci-dessus dans la fenêtre Module (Code).

3. Pour conserver la signature Outlook par défaut dans l'e-mail envoyé depuis Excel, vous devez modifier le code VBA 2 comme suit :

1) Remplacez le .Corps aligner avec Code VBA 1;
2) Déplacer la ligne .Afficher sous la ligne Avec OutlookMail (ou Avec xMailOut dans d'autres codes). Voir la capture d'écran:

Voici le code complet après modification.

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .Display
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .HTMLBody = "Email body" & "
" & .HTMLBody .Attachments.Add FileName '.Send End With Kill FileName Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub

4. appuie sur le F5 clé pour exécuter le code. Ensuite, vous obtiendrez une nouvelle fenêtre de message avec la feuille de calcul actuelle jointe sous forme de fichier PDF, tandis que la signature par défaut d'Outlook sera automatiquement insérée à la fin du corps de l'e-mail.


3. Envoyer automatiquement des e-mails depuis Excel lorsqu'une condition est remplie (avec des scripts VBA)

Dans les exemples ci-dessus, vous devez exécuter le code manuellement pour obtenir la livraison par e-mail. Si vous souhaitez déclencher le code automatiquement lorsqu'une certaine condition est remplie, comme lorsqu'une cellule atteint une certaine valeur, lorsque la valeur d'une cellule change, lorsqu'une date est atteinte, etc., l'e-mail sera envoyé automatiquement. Cette section répertorie les conditions que les utilisateurs d'Excel recherchaient souvent dans Google pour vous aider à envoyer automatiquement des e-mails à partir d'Excel lorsqu'une certaine condition est remplie.

3.1 Envoyer automatiquement un e-mail lorsqu'une cellule atteint une certaine valeur

Comme le montre la capture d'écran ci-dessous, supposons que vous ayez un tableau des ventes avec la cellule D6 contenant le total des ventes. Vous souhaitez envoyer automatiquement un e-mail à votre patron en fonction du total des ventes. Par exemple, créez ou envoyez un e-mail automatiquement lorsque le total des ventes dépasse 10000 10000, mais si le total des ventes est égal ou inférieur à XNUMX XNUMX, aucune action n'est entreprise.

1. Dans la feuille de calcul contenant le tableau des ventes, cliquez avec le bouton droit sur l'onglet de la feuille et cliquez sur Voir le code dans le menu contextuel.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, collez le code VBA suivant dans la Feuille (Code) fenêtre.

Code VBA : envoyer automatiquement un e-mail lorsqu'une cellule atteint une certaine valeur dans Excel

Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = "xxx@aaa.com"
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub

Florales:

1) D6 est la cellule dont vous allez envoyer un e-mail basé sur la valeur.
2) > 10000 est la condition, ce qui signifie qu'un e-mail sera envoyé lorsque la valeur dans D6 est supérieure à 10000.
3) Portée ("D6") dans la ligne suivante signifie que le corps de l'e-mail fera référence à la valeur dans D6.
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
5) Modifiez l'objet de l'e-mail dans la ligne .Subject = "test".
6) Dans les deux lignes suivantes :
.CC = "Adresse e-mail"
.Cci = "Adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "Adresse Email" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.

À partir de maintenant, lorsque la valeur de la cellule D6 dépasse 10000, un e-mail sera créé comme indiqué dans la capture d'écran ci-dessous.


3.2 Envoyer automatiquement un e-mail lorsqu'une valeur de cellule change

Comme illustré dans la capture d'écran ci-dessous, supposons que vous receviez un classeur contenant les ventes mensuelles dans différentes feuilles de calcul et le total des ventes dans une feuille de calcul. Vous devez vérifier le total des ventes et si le total des ventes est modifié, renvoyer le classeur à l'expéditeur et informer l'expéditeur que la cellule a été modifiée.

1. Dans la feuille de calcul contenant le tableau des ventes, cliquez avec le bouton droit sur l'onglet de la feuille et cliquez sur Voir le code dans le menu contextuel.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, collez le code VBA suivant dans la fenêtre Feuille (Code).

Code VBA : envoyer automatiquement un e-mail lorsqu'une valeur de cellule spécifiée change

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If

ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address

Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."

With xMailItem
.To = "xxx@aaa.com"
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Florales: Dans le code,

1) B14 dans le code signifie que lorsque la valeur de la cellule B14 changera, vous enverrez un e-mail.
2) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
3) Modifiez l'objet de l'e-mail dans la ligne .Subject = "Feuille de travail modifiée".
4) Dans les deux lignes suivantes :
.CC = "Adresse e-mail"
.BCC = "Adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "Adresse Email" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.

À partir de maintenant, lorsque la valeur de la cellule B14 changera, un message Outlook sera créé automatiquement, comme indiqué dans la capture d'écran ci-dessous.


3.3 Envoyer automatiquement un e-mail lorsqu'un classeur est enregistré

Si vous avez un classeur qui doit être partagé avec d'autres après modification, vous devez normalement enregistrer le classeur, lancer le client de messagerie, créer un nouvel e-mail avec ce classeur en pièce jointe, composer les champs correspondants puis envoyer l'e-mail. Cette section vous montrera une méthode pour créer un e-mail automatiquement à chaque fois que vous enregistrez le classeur. Veuillez procéder comme suit.

1. appuie sur le autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Dans cette fenêtre, double-cliquez Ce classeur dans le Projet volet, puis collez le code VBA suivant dans le Ce classeur (code) fenêtre.

Code VBA : envoyer automatiquement un e-mail lorsqu'un classeur est enregistré

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "xxx@aaa.com"
        .CC = "Email address"
        .BCC = "Email address"
        .Subject = "The workbook has been updated"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

Florales: Dans le code,

1) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
2) Modifiez l'objet et le corps de l'e-mail séparément dans les lignes .Subject = "Le classeur a été mis à jour" et .Body = "Salut," & Chr(13) & Chr(13) & "Le fichier est maintenant mis à jour.".
3) Dans les deux lignes suivantes :
.CC = "Adresse e-mail"
.BCC = "Adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "Adresse Email" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.

3. A partir de maintenant, lors de l'enregistrement du classeur en appuyant sur la touche Ctrl + S touches ou en cliquant sur le Enregistré bouton, un e-mail Outlook sera créé automatiquement. Vous pouvez voir que le classeur actuel est joint en tant que pièce jointe et que les champs sont remplis avec le contenu spécifié. Voir capture d'écran :

Astuces: Si vous utilisez fréquemment ce classeur, nous vous recommandons ici de l'enregistrer en tant que Cahier de travail Excel avec macro-activé pour enregistrer le script VBA pour une utilisation future. Les étapes sont les suivantes.

1) Cliquez sur Déposez votre dernière attestation > Enregistrer sous, puis choisissez un dossier pour enregistrer le fichier.
2) Dans le Enregistrer sous boîte de dialogue, renommez le fichier selon vos besoins dans la Nom du fichier zone de texte, choisissez Cahier de travail Excel avec macro-activé dans le Enregistrer en tant que type de liste déroulante, et enfin cliquez sur le Enregistré bouton. Voir la capture d'écran:


3.4 Envoyer automatiquement un e-mail à une heure précise

Supposons que vous deviez envoyer un e-mail avec un classeur d'affectation de tâches à quelqu'un tous les vendredis matin à 9h, et que vous souhaitez le faire automatiquement dans Excel sans avoir à utiliser manuellement le client de messagerie. Cette section vous montrera la méthode pour y parvenir.

1. appuie sur le autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Collez ensuite le code VBA suivant dans la fenêtre Module.

Code VBA1 : Envoyez par e-mail le classeur actuel en pièce jointe à partir d'Excel

Sub Timer()
    If Weekday(Date) = vbFriday Then
        SendWorkBook
        Application.OnTime TimeValue("09:00:00"), "Timer"
    Else
        Application.OnTime TimeValue("09:00:00"), "Timer"
    End If
End Sub

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. Dans cette fenêtre, double-cliquez Ce classeur dans le Projet volet, puis collez le code VBA suivant dans le Ce classeur (code) fenêtre.

Code VBA 2 : Envoyer automatiquement un e-mail à une heure précise

Private Sub Workbook_Open()
    Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub

Florales:

1) Dans le code VBA 1, Vendredi dans la ligne suivante signifie que l'e-mail sera envoyé automatiquement tous les vendredis ;
Si Jour de la semaine(Date) = vbVendredi Alors
2) Dans le code VBA 1 et le code VBA 2, le temps 09:00:00 signifie que l'e-mail sera envoyé à 9hXNUMX un certain jour.
Vous pouvez modifier le jour et l'heure selon vos besoins.
3) Lorsque le code s'exécute, un e-mail sera créé. Si vous ne voulez pas faire apparaître la fenêtre de message et que vous devez l'envoyer directement, veuillez supprimer la ligne .Afficher du code VBA 1, et supprimer le apostrophe avant la ligne '.Envoyer.

4. Enregistrez les codes, puis enregistrez le classeur en tant que classeur Excel prenant en charge les macros comme suit.

4.1) Cliquez sur Déposez votre dernière attestation > Enregistrer sous, puis choisissez un dossier pour enregistrer le fichier.
4.2) Dans le Enregistrer sous boîte de dialogue, renommez le fichier selon vos besoins dans la Nom du fichier zone de texte, choisissez Cahier de travail Excel avec macro-activé dans le Enregistrer en tant que type de liste déroulante, et enfin cliquez sur le Enregistré bouton. Voir la capture d'écran:

5. Ouvrez votre classeur de macros enregistré, puis un e-mail sera créé ou envoyé automatiquement lorsque le jour et l'heure arriveront.


4. Sujets supplémentaires

Cette section rassemble d'autres sujets que vous pouvez rencontrer lors de l'envoi d'e-mails à partir d'Excel.

4.1 Envoyer par e-mail une plage de cellules à partir d'Excel (avec le script VBA)

Supposons qu'il existe un tableau des ventes mensuelles dans une feuille de calcul Excel, comme indiqué dans la capture d'écran ci-dessous, et que vous deviez envoyer ce tableau des ventes mensuelles à d'autres en tant que contenu du corps d'un e-mail ou en pièce jointe directement. Nous vous proposons ici deux méthodes pour y parvenir.

4.1.1 Envoyer une plage par e-mail dans le cadre du contenu du corps à partir d'Excel

Vous pouvez exécuter le code VBA suivant pour envoyer une plage de cellules dans le cadre du contenu du corps de l'e-mail à partir d'Excel

1. appuie sur le autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur Outils > Références . Et puis vérifiez le Bibliothèque d'objets Microsoft Outlook 16.0 boîte et cliquez OK dans le Références - VBAProject boite de dialogue.

3. Cliquez insérer > Module, puis collez le code VBA suivant dans le Module (Code) fenêtre.

Code VBA : envoyer une plage de cellules dans le cadre du contenu du corps de l'e-mail à partir d'Excel

Sub SendARangeofCells()
'Updated by Extendoffice 20220809
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
        .Subject = "test"
        .To = "xxx@aaa.com"
        .CC = "Email address"
        .BCC = "Email address"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

Florales: Dans le code,

1) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
2) Dans les deux lignes suivantes :
.CC = "Adresse e-mail"
.BCC = "Adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "Adresse Email" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.

4. appuie sur le F5 clé pour exécuter le code. Dans le pop up Kutools for Excel boîte de dialogue, sélectionnez la plage de cellules que vous devez envoyer dans le cadre du contenu du corps d'un e-mail, puis cliquez sur OK. Voir la capture d'écran:

Ensuite, un e-mail Outlook sera créé automatiquement. Vous pouvez voir que la plage que vous avez sélectionnée dans la feuille de calcul est insérée dans le corps de l'e-mail. Voir capture d'écran :


4.1.2 Envoyer une plage par e-mail en pièce jointe à partir d'Excel

Si vous devez envoyer par e-mail une plage de cellules dans une feuille de calcul en tant que pièce jointe à partir d'Excel. Vous pouvez essayer le code VBA suivant.

1. appuie sur le autre + F11 clés.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Collez ensuite le code VBA suivant dans le Module (Code) fenêtre.

Code VBA : envoyez une plage par e-mail en pièce jointe à partir d'Excel

Sub SendRange()
'Update 20220809
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email address"
    .BCC = "Email address"
    .Subject = "Monthly sales for 2021"
    .Body = "Hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Florales:

1) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
2) Modifiez l'objet et le corps de l'e-mail séparément dans la ligne .Subject = "Ventes mensuelles pour 2021" et .Body = "Bonjour, veuillez vérifier et lire ce document.";
3) Dans les deux lignes suivantes :
.CC = "adresse e-mail"
.BCC = "adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "adresse e-mail" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.

3. appuie sur le F5 clé pour exécuter le code. Dans le pop up Kutools for Excel boîte de dialogue, sélectionnez la plage de cellules que vous devez envoyer en pièce jointe dans un e-mail, puis cliquez sur OK. Voir la capture d'écran:

Ensuite, un e-mail Outlook sera créé automatiquement. Et la plage de cellules que vous avez sélectionnée dans la feuille de calcul est enregistrée en tant que classeur Excel et jointe dans la fenêtre Message. Voir capture d'écran :


4.2 Envoyer des e-mails lorsqu'un bouton est cliqué dans Excel

Si vous devez cliquer sur un bouton de commande pour déclencher une macro pour envoyer un e-mail à partir d'Excel, par exemple, envoyez le classeur actuel en tant que pièce jointe à d'autres en cliquant sur un bouton de commande dans la feuille de calcul. Vous pouvez suivre les étapes suivantes pour le faire.

1. Cliquez Développeur > insérer > Bouton de commande (contrôle ActiveX). Dessinez ensuite un bouton de commande dans la feuille de calcul.

Astuces: Si vous avez déjà un bouton de commande, ignorez cette étape.

2. appuie sur le autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications la fenêtre. Dans la fenêtre, cliquez sur insérer > Mode, puis collez le code VBA (le code utilisé pour envoyer par courrier électronique le classeur actuel en tant que pièce jointe à partir d'Excel) dans la fenêtre Module (Code).

Cliquez ici pour obtenir le code.

Notes: Ici, le nom de la macro que vous avez créée à l'étape 2 est Envoyer le classeur.

3. appuie sur le autre + Q touches pour fermer le Microsoft Visual Basic pour applications fenêtre.

4. Vous devez maintenant affecter la macro au bouton de commande. Faites un clic droit sur le bouton de commande, sélectionnez Voir le code dans le menu contextuel.

5. Puis le Microsoft Visual Basic pour applications fenêtre apparaît, vous pouvez voir que les deux lignes suivantes sont répertoriées dans le Feuille (Code) fenêtre.

Private Sub CommandButton1_Click()
End Sub

6. Entrez le nom de la macro existante dans la sous-procédure du bouton de commande.

7. appuie sur le autre + Q touches pour fermer le Éditeur Visual BasicEt cliquez Développeur > Mode de conception pour désactiver le mode conception.

Vous pouvez maintenant cliquer sur le bouton de commande pour envoyer un e-mail avec le classeur actuel en pièce jointe dans l'e-mail.


4.3 Envoyer des e-mails à partir d'un compte de messagerie spécifié

Normalement, lors du lancement d'un e-mail à partir d'Excel avec le code VBA, le compte de messagerie de l'expéditeur est le compte par défaut dans Outlook. Supposons que vous ayez configuré plusieurs comptes de messagerie dans votre Outlook et que vous souhaitiez utiliser un certain compte pour envoyer les e-mails depuis Excel au lieu d'utiliser le compte par défaut. Le code VBA suivant peut vous aider.

Les codes suivants sont nécessaires dans ce cas.

Code VBA 1 :

Dim OutlookMail As Outlook.MailItem

Code VBA 2 :

For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("zxm@addin99.com") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next

Comment utiliser le code VBA ci-dessus ?

1) Dans votre propre code, vous devez remplacer la ligne telle que "Dim OutlookMail en tant qu'objet” avec le code VBA 1 ;
2) Ajoutez le code VBA 2 sous la ligne "On Error Resume Next" dans votre code. Spécifiez ensuite l'adresse e-mail que vous utiliserez pour envoyer l'e-mail en code VBA 2.

Dans cet exemple, nous allons spécifier un certain compte de messagerie pour envoyer le classeur actuel en pièce jointe à partir d'Excel. Veuillez procéder comme suit.

1. appuie sur le autre + F11 clés. Dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur Outils > Références . Et puis vérifiez le Bibliothèque d'objets Microsoft Outlook 16.0 boîte et cliquez OK dans le Références - VBAProject boite de dialogue.

2. Cliquez insérer > Module. Collez ensuite le code VBA suivant dans le Module (Code) fenêtre.

Code VBA : envoyez le classeur en cours sous forme de pièce jointe à partir d'Excel via un compte Outlook spécifié

Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("zxm@addin99.com") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next
'End
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. appuie sur le F5 clé pour exécuter le code. Ensuite, un message électronique Outlook apparaît, vous pouvez voir que le À partir de champ est rempli avec le compte de messagerie que vous avez spécifié dans le code.


4.4 Envoyer un email lorsqu'une date est atteinte

Si vous devez envoyer un e-mail en fonction d'une date d'échéance spécifique, par exemple, comme indiqué dans la capture d'écran ci-dessous, il existe un tableau de projet, lorsque la date d'échéance dans la plage E2:E7 est égale ou inférieure à 7 jours à compter d'aujourd'hui (en supposant que la date actuelle est le 2022/8/4), un e-mail sera envoyé automatiquement aux chefs de projet correspondants et les avertira que le projet est sur le point d'expirer.

1. Dans la feuille de calcul contient la table de projet, cliquez avec le bouton droit sur l'onglet de la feuille et cliquez sur Voir le code dans le menu contextuel.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, collez le code VBA suivant dans la Feuille (Code) fenêtre.

Code VBA : envoyer automatiquement un e-mail lorsqu'une date d'échéance est respectée

Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "

" xMailBody = "" xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf xMailBody = xMailBody & "" Set xMailItem = xOutApp.CreateItem(0) With xMailItem .Subject = xMailSubject .To = xRgSendVal .CC = "Email address" .BCC = "Email address" .HTMLBody = xMailBody .Display '.Send End With Set xMailItem = Nothing End If End If Next Set xOutApp = Nothing End Sub

Florales: Dans le code,

1) Dans les lignes suivantes, E2: E7 contient les dates d'échéance sur lesquelles vous enverrez des e-mails. C2: C7 contient les adresses e-mail auxquelles vous enverrez des e-mails. Et D2: D7 contient les remarques que vous ajouterez dans le corps de l'e-mail pour informer les destinataires que le projet est sur le point d'expirer. Vous pouvez modifier les plages selon vos besoins.
Définir xRgDate = Range("E2:E7")
Définir xRgSend = Range("C2:C7")
Définir xRgText = Range("D2:D7")
2) La ligne suivante signifie que la date d'échéance doit être supérieure à 1 jour et égale ou inférieure à 7 jours à compter d'aujourd'hui. Vous pouvez le changer selon vos besoins.
Si CDate(xRgDateVal) - Date <= 7 Et CDate(xRgDateVal) - Date > 0 Alors
3) Dans la ligne .À = xxx@aaa.com, veuillez remplacer xxx@aaa.com avec l'adresse e-mail du véritable destinataire. Si vous avez besoin de plusieurs adresses e-mail, veuillez les séparer par des points-virgules.
4) Modifiez l'objet de l'e-mail dans la ligne .Subject = "Feuille de travail modifiée".
5) Dans les deux lignes suivantes :
.CC = "Adresse e-mail"
.BCC = "Adresse e-mail"
Si vous souhaitez ajouter les destinataires cc et bcc, remplacez le texte "Adresse Email" dans les lignes avec les adresses e-mail dont vous avez besoin.
Si vous n'avez pas besoin des destinataires cc et bcc, ajoutez simplement une apostrophe ' avant chaque ligne.

3. appuie sur le F5 clé pour exécuter le code. Ensuite, si la date d'expiration correspond aux conditions, l'e-mail correspondant sera créé. Dans ce cas, deux e-mails seront créés comme indiqué dans la capture d'écran ci-dessous.


5. Un outil pratique pour vous aider à envoyer facilement des e-mails depuis Excel

Si vous êtes un débutant en VBA, les méthodes ci-dessus peuvent ne pas être faciles à gérer. Ici, nous recommandons Kutools for Excel's Envoyer des emails fonctionnalité, avec cette fonctionnalité, vous pouvez facilement envoyer des e-mails à partir d'Excel en quelques clics seulement. Veuillez procéder comme suit.

Avant d'appliquer Kutools for Excel, S'il vous plaît téléchargez et installez-le d'abord.

5.1 Créez facilement une liste de diffusion qui inclut les champs d'e-mail dont vous avez besoin

Avant d'appliquer la fonctionnalité Envoyer des e-mails, vous devez créer une liste de diffusion contenant les champs d'e-mail dont vous avez besoin. Ici, la fonction Créer une liste de diffusion peut vous aider.

1. Cliquez Kutools Plus > Créer une liste de diffusion.

2. Dans l'ouverture Créer une liste de diffusion fenêtre, vous devez configurer comme suit.

2.1) Dans le Colonnes pour la liste de diffusion section, cochez les champs dont vous avez besoin dans votre e-mail ;
2.2) Dans le joindre des fichiers section, cochez une ou plusieurs pièces jointes dont vous pourriez avoir besoin ;
2.3) Spécifiez un emplacement pour placer la liste de diffusion ;
2.4) Cliquez sur le Créez bouton. Voir la capture d'écran:

Ensuite, un exemple de tableau de liste de diffusion est créé, comme indiqué dans la capture d'écran ci-dessous.

3. Vous devez maintenant remplacer les données d'origine de l'échantillon par vos propres données de terrain.

Vous avez maintenant créé une table de liste de diffusion. Veuillez continuer à appliquer le Envoyer des emails fonctionnalité pour envoyer des e-mails à partir d'Excel en fonction des champs que vous avez créés.

  Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.


5.2 Envoyez facilement des e-mails, y compris les champs que vous avez créés dans la liste de diffusion

Après avoir créé la liste de diffusion (cliquez pour savoir comment) qui contient les champs dont vous pourriez avoir besoin dans vos e-mails, vous pouvez désormais envoyer des e-mails depuis Excel avec ces champs.

1. Sélectionnez la liste de diffusion entière, cliquez sur Kutools Plus > Envoyer des emails.

2. dans le Envoyer des emails boîte de dialogue, veuillez effectuer la configuration suivante.

2.1) Les champs sont remplis automatiquement dans la boîte de dialogue de chaque champ par les champs que vous avez spécifiés dans la liste de diffusion ;
Astuces: Si vous n'avez pas besoin d'un certain champ pour le moment, choisissez une option vide dans la liste déroulante.
2.2) Insérer un espace réservé (facultatif) : si vous avez besoin d'insérer des informations variables dans le corps d'un e-mail.
Par exemple, vous devrez peut-être envoyer un e-mail à plusieurs destinataires avec un nom personnalisé pour chacun, vous devez placer le curseur dans le corps de l'e-mail où vous devez insérer l'espace réservé, sélectionnez le champ "E : Prénom" (ou un autre champ de nom dans votre liste de diffusion), puis cliquez sur le bouton Insérer placeholder bouton;
Lorsque les destinataires reçoivent l'e-mail, le corps de l'e-mail reste le même mais les noms sont uniques pour chacun.
2.3) Composez le corps de l'e-mail selon vos besoins ;
2.4) Assurez-vous que le Envoyer des e-mails via Outlook la case est cochée;
2.5) Cliquez sur le Envoyer bouton. Voir la capture d'écran:

3. Puis un Kutools for Excel boîte de dialogue apparaît pour vous dire combien d'e-mails sont envoyés, cliquez sur le OK bouton pour fermer cette boîte de dialogue.

Astuces: Vous pouvez aller au Éléments envoyés dossier dans votre Outlook pour vérifier les e-mails que vous avez envoyés.


5.3 Envoyez facilement des e-mails avec un corps HTML (y compris un lien hypertexte, une image, etc.)

Cette fonctionnalité d'envoi d'e-mails vous permet de créer un e-mail html, qui comprend un lien hypertexte, une image, différentes tailles de police et couleurs de police, etc.

Après créer une liste de diffusion qui inclut les champs d'e-mail dont vous avez besoin,

Lorsque vous configurer la boîte de dialogue Envoyer des e-mails, vous pouvez enrichir le contenu du corps en utilisant les options de la barre d'outils.

Voir la capture d'écran ci-dessous:


5.4 Insérez facilement la signature par défaut d'Outlook lors de l'envoi d'e-mails

Dans la méthode ci-dessus, nous avons démontré un code VBA pour vous aider à envoyer des e-mails avec la signature par défaut d'Outlook. Ici, avec la fonctionnalité Envoyer des e-mails, il vous suffit de cocher une option, puis la signature par défaut d'Outlook sera insérée dans les e-mails que vous avez envoyés depuis Excel.

Après créer une liste de diffusion qui inclut les champs d'e-mail dont vous avez besoin,

Quand configurer la boîte de dialogue Envoyer des e-mails, vous devez cliquer Options > Utiliser les paramètres de signature d'Outlook.

Notes: Veuillez vous assurer qu'une coche s'affiche avant l'option Utiliser les paramètres de signature d'Outlook.

Lorsque les destinataires reçoivent l'e-mail, ils peuvent voir la signature par défaut d'Outlook affichée à la fin du corps de l'e-mail.


5.5 Envoyer facilement des e-mails à partir d'un compte de messagerie spécifié

Pour utiliser un certain compte de messagerie pour envoyer les e-mails à partir d'Excel au lieu d'utiliser le compte par défaut, la fonction Envoyer des e-mails peut également vous aider à le faire facilement.

Après créer une liste de diffusion qui inclut les champs d'e-mail dont vous avez besoin,

Quand configurer la boîte de dialogue Envoyer des e-mails, vous devez cliquer Options > Envoyé de, puis cliquez sur le compte de messagerie à partir duquel vous devez envoyer des e-mails.

Notes: Après avoir sélectionné le compte de messagerie, une coche s'affichera devant celui-ci.

Cliquez ici pour en savoir plus sur cette fonctionnalité d'envoi d'e-mails.

  Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.

En conclusion, envoyer des emails depuis Excel est assez utile dans notre travail quotidien. Cet article couvre des sujets plus complets sur l'envoi d'e-mails à partir d'Excel, s'il existe d'autres sujets ou des solutions plus simples, veuillez laisser un commentaire pour me le faire savoir.

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et facilite grandement 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!