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

or

Comment insérer la signature Outlook lors de l'envoi d'un e-mail dans Excel?

Supposons que vous souhaitiez envoyer un e-mail directement dans Excel, comment pouvez-vous ajouter la signature Outlook par défaut dans votre e-mail? Cet article propose deux méthodes pour vous aider à ajouter une signature Outlook lors de l'envoi d'un e-mail dans Excel.

Insérer la signature dans le courrier électronique Outlook lors de l'envoi par Excel VBA
Insérez facilement la signature Outlook lors de l'envoi d'un e-mail dans Excel avec un outil incroyable

Plus de tutoriels pour l'envoi dans Excel ...


Insérer la signature dans le courrier électronique Outlook lors de l'envoi par Excel VBA

Par exemple, il existe une liste d'adresses e-mail dans une feuille de calcul et vous devez envoyer un e-mail à toutes ces adresses dans Excel et inclure la signature Outlook par défaut dans tous les e-mails. Veuillez appliquer le code VBA ci-dessous pour y parvenir.

1. Ouvrez la feuille de calcul contenant la liste d'adresses e-mail à laquelle vous souhaitez envoyer un e-mail, puis appuyez sur le bouton autre + F11 clés.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module, puis copiez le ci-dessous VBA2 dans la fenêtre de code du module.

3. Vous devez maintenant remplacer le .Corps faire la queue VBA2 avec le code en VBA1. Après cela, coupez le .Afficher ligne, puis collez-la sous le Avec xMailOut ligne.

VBA 1: Modèle d'envoi d'e-mail avec signature dans Excel

.HTMLBody = "This is a test email sending in Excel" & "<br>" & .HTMLBody

VBA 2: envoyer un e-mail aux adresses e-mail spécifiées dans les cellules dans Excel

Sub SendEmailToAddressInCells()
    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 email address range", "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

La capture d'écran suivante peut vous aider à trouver facilement les différences après avoir modifié le code VBA.

4. appuie sur le F5 clé pour exécuter le code. Puis un Kutools pour Excel la boîte de sélection apparaît, veuillez sélectionner les adresses e-mail auxquelles vous enverrez des e-mails, puis cliquez sur D'ACCORD.

Ensuite, les e-mails envoyés à des adresses spécifiques sont créés et affichés. Vous pouvez voir que la signature Outlook par défaut est ajoutée à la fin du corps de l'e-mail.

Conseils:

  • 1. Vous pouvez modifier le corps de l'e-mail dans le code VBA 1 en fonction de vos besoins.
  • 2. Après avoir exécuté le code, si une boîte de dialogue d'erreur apparaît pour avertir que le type défini par l'utilisateur n'est pas défini, fermez cette boîte de dialogue, puis cliquez sur Outils > Références et Microsoft Visual Basic pour applications la fenêtre. Dans l'ouverture Références - VBAProject fenêtre, vérifiez la Bibliothèque d'objets Microsoft Outlook boîte et cliquez D'ACCORD. Et puis exécutez à nouveau le code.

Insérez facilement la signature Outlook lors de l'envoi d'un e-mail dans Excel avec un outil incroyable

Si vous êtes un novice en VBA, je recommande vivement le Envoyer des emails utilité de Kutools pour Excel pour vous. Avec cette fonctionnalité, vous pouvez facilement envoyer des e-mails en fonction de certains champs dans Excel et leur ajouter une signature Outlook. Veuillez faire comme suit.

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

Tout d'abord, vous devez créer une liste de diffusion avec différents champs sur lesquels vous enverrez des e-mails.

Vous pouvez créer manuellement une liste de diffusion selon vos besoins ou appliquer la fonction Créer une liste de diffusion pour le faire rapidement.

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

2. dans le Créer une liste de diffusion boîte de dialogue, spécifiez les champs dont vous avez besoin, choisissez l'emplacement de sortie de la liste, puis cliquez sur le bouton OK .

3. Un exemple de liste de diffusion est maintenant créé. Comme il s'agit d'un exemple de liste, vous devez modifier les champs pour certains contenus nécessaires. (plusieurs lignes sont autorisées)

4. Après cela, sélectionnez toute la liste (inclure les en-têtes), cliquez sur Kutools Plus > Envoyer des emails.

5. dans le Envoyer des emails boite de dialogue:

  • 5.1) Les éléments de la liste de diffusion sélectionnée sont placés automatiquement dans les champs correspondants;
  • 5.2) Terminez le corps de l'e-mail;
  • 5.3) Vérifiez les Envoyer un e-mail via Outlook à ces émotions et de Utiliser les paramètres de signature d'Outlook des boites;
  • 5.4) Cliquez sur le Envoyez bouton. Voir la capture d'écran:

Les e-mails sont maintenant envoyés. Et la signature Outlook par défaut est ajoutée à la fin du corps de l'e-mail.

  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.


Articles Liés:

Envoyer un e-mail aux adresses e-mail spécifiées dans les cellules dans Excel
Supposons que vous ayez une liste d'adresses e-mail et que vous souhaitiez envoyer un message électronique à ces adresses e-mail en masse directement dans Excel. Comment y parvenir? Cet article vous montrera les méthodes d'envoi d'e-mail à plusieurs adresses e-mail spécifiées dans les cellules d'Excel.

Envoyer un e-mail en copiant et en collant une plage spécifiée dans le corps de l'e-mail dans Excel
Dans de nombreux cas, une plage de contenu spécifiée dans la feuille de calcul Excel peut être utile dans votre communication par courrier électronique. Dans cet article, nous présenterons une méthode d'envoi d'un e-mail avec une plage spécifiée collée dans le corps de l'e-mail directement dans Excel.

Envoyer un e-mail avec plusieurs pièces jointes jointes dans Excel
Cet article parle de l'envoi d'un e-mail via Outlook avec plusieurs pièces jointes jointes dans Excel.

Envoyer un e-mail si la date d'échéance a été respectée dans Excel
Par exemple, si la date d'échéance dans la colonne C est inférieure ou égale à 7 jours (la date actuelle est le 2017/9/13), envoyez un e-mail de rappel au destinataire spécifié dans la colonne A avec le contenu spécifié dans la colonne B. Comment faire parvenir? Cet article fournira une méthode VBA pour y faire face en détail.

Envoyer automatiquement un e-mail en fonction de la valeur de la cellule dans Excel
Supposons que vous souhaitiez envoyer un e-mail via Outlook à un certain destinataire en fonction d'une valeur de cellule spécifiée dans Excel. Par exemple, lorsque la valeur de la cellule D7 dans une feuille de calcul est supérieure à 200, un e-mail est créé automatiquement. Cet article présente une méthode VBA pour vous permettre de résoudre rapidement ce problème.

Plus de tutoriels pour l'envoi dans Excel ...


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.
    samer · 24 days ago
    It's really helpful code
    I need to change text format from right to left In the xOutMsg line
    help please .
  • To post as a guest, your comment is unpublished.
    Fevro1 · 1 years ago
    I am trying to integrate this code into the current format I currently have whereby I am able to automate emails within excel based on a set range of values. Any help in regard to where to add the 'signature' code within what I currently have would be much appreciated.

    Public Sub CheckAndSendMail()
    'Updated by Extendoffice 2018/11/22
    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
    'Please specify the due date range
    xStrRang = "D2:D110"
    Set xRgDate = Range(xStrRang)
    'Please specify the recipients email address range
    xStrRang = "C2:C110"
    Set xRgSend = Range(xStrRang)
    xStrRang = "A2:A110"
    Set xRgName = Range(xStrRang)
    'Specify the range with reminded content in your email
    xStrRang = "Z2:Z110"
    Set xRgText = Range(xStrRang)
    xLastRow = xRgDate.Rows.Count
    Set xRgDate = xRgDate(1)
    Set xRgSend = xRgSend(1)
    Set xRgName = xRgName(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 <= 30 And CDate(xRgDateVal) - Date > 0 Then
    xRgSendVal = xRgSend.Offset(I - 1).Value
    xMailSubject = " JBC Service Agreement Expiring On The " & xRgDateVal
    vbCrLf = "

    "
    xMailBody = ""
    xMailBody = xMailBody & "Dear " & xRgName.Offset(I - 1).Value & vbCrLf
    xMailBody = xMailBody & " " & xRgText.Offset(I - 1).Value & vbCrLf
    xMailBody = xMailBody & ""
    Set xMailItem = xOutApp.CreateItem(0)
    With xMailItem
    .Subject = xMailSubject
    .To = xRgSendVal
    .CC = "mailcc@justbettercare.com"
    .HTMLBody = xMailBody
    .Display
    '.Send
    End With
    Set xMailItem = Nothing
    End If
    End If
    Next
    Set xOutApp = Nothing
    End Sub
  • To post as a guest, your comment is unpublished.
    kanojiyajay161196@gmail.com · 2 years ago
    Thanks to you, I can add signature now but then it removes spaces between paragraph of text. Please Can you Help me ?


    Sub helloworld()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range
    Dim Path As String
    Path = Application.ActiveWorkbook.Path
    Set OutApp = CreateObject("Outlook.Application")

    For Each cell In Range("C4:C6")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
    .Display
    .To = cell.Value
    .Subject = Cells(cell.Row, "D").Value
    .HTMLBody = "Dear " & Cells(cell.Row, "B").Value & "," _
    & vbNewLine & vbNewLine & _
    "Warm Greetings" _
    & vbNewLine & vbNewLine & _
    "We, JK Overseas, would like to take an opportunity and introduce our company J K Overseas, which is involved in the salt business for the last 3 years. We are currently strong in domestic and expanding overseas. We are the supplier of Edible Salt, Water Softening Salt, De-icing Salt, Industrial Salt" & "." _
    & vbNewLine & vbNewLine & _
    "We have a tie-up with large scale manufacturers in India and procure from them quality Salt and exports. So, we are looking for a reliable expert importer as well as distributor agent to make a long-term Business with mutual benefit" & "." _
    & vbNewLine & vbNewLine & _
    "Please contact us with your requirement or for any other inquiries you may have. We provide reliable logistics and on-time delivery. We are confident that our prices being most competitive will match your expectations" & "." _
    & vbNewLine & vbNewLine & _
    .HTMLBody

    '.Send
    End With
    Next cell
    End Sub
  • To post as a guest, your comment is unpublished.
    fadysam · 2 years ago
    Dear,
    Can someone help me with my VBA,
    I need the signature in the email created:
  • To post as a guest, your comment is unpublished.
    Bara · 2 years ago
    Hi, I would need help with my macro, I need to insert the Outlook signature under the table, could you help me with that?

    Private Sub CommandButton1_Click()


    Dim outlook As Object
    Dim newEmail As Object
    Dim xInspect As Object
    Dim pageEditor As Object

    Set outlook = CreateObject("Outlook.Application")
    Set newEmail = outlook.CreateItem(0)

    With newEmail
    .To = Sheet5.Range("F1")
    .CC = ""
    .BCC = ""
    .Subject = Sheet5.Range("B5")
    .Body = Sheet5.Range("B41")
    .display

    Set xInspect = newEmail.GetInspector
    Set pageEditor = xInspect.WordEditor

    Sheet5.Range("B6:I7").Copy

    pageEditor.Application.Selection.Start = Len(.Body)
    pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
    pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText)

    .display
    Set pageEditor = Nothing
    Set xInspect = Nothing
    End With

    Set newEmail = Nothing
    Set outlook = Nothing

    End Sub
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi Bara,
      Sorry can't help you with that. Thanks for your comment.
  • To post as a guest, your comment is unpublished.
    Kasun · 2 years ago
    Thanks a lot...
  • To post as a guest, your comment is unpublished.
    Prakash · 2 years ago
    Superb!!!!
  • To post as a guest, your comment is unpublished.
    Michael · 3 years ago
    I'm having trouble running this on excel 2016. I get a "Compile Error: User Defined Type Not Defined" message. Please help!
  • To post as a guest, your comment is unpublished.
    Maggie · 3 years ago
    If my body text is linked to pull from excel fields, the use of & .HTMLBody at the end of the string erases all of the body text and just leaves the signature.
  • To post as a guest, your comment is unpublished.
    viraj Shirsat · 3 years ago
    how to add signature if the macro is used by multiple user.
    for eg my macro will be run by 3 other persons as well. So how can the macro use the signature of the user who is running the macro.
    thanks in advance
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Good Day,
      The VBA code can automatically recognize the default signature in the Outlook of the sender, and send email with his own signature through Outlook.
  • To post as a guest, your comment is unpublished.
    kkoruni · 3 years ago
    i am trying to add the outlook signature titled "default" but cannot seem that it works.
    can you please help? I believe that my "xMailout" logic is wrong. this is my suspected faulty area.

    Private Sub CommandButton1_Click()

    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Greetings:" & 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 xOutMail
    .To = "Email.here.com"
    .CC = "Email.here.com"
    .Subject = "Email Title Here - " & Range("Cell#").value
    .Body = xMailBody
    . Attachments.Add ActiveWorkbook.FullName
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
    .Display
    End With
    ActiveWorkbook.Save
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
    End Sub
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Good day,
      You script has been modified, please have try. Thank you.

      Private Sub CommandButton1_Click()
      Dim xOutApp As Object
      Dim xOutMail As Object
      Dim xMailBody As String
      Dim xMailOut As Outlook.MailItem
      On Error Resume Next
      Set xOutApp = CreateObject("Outlook.Application")
      Set xOutMail = xOutApp.CreateItem(0)
      xMailBody = "Greetings:" & 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 xOutMail
      .To = "Email.here.com"
      .CC = "Email.here.com"
      .Subject = "Email Title Here - " & Range("Cell#").Value
      .Body = xMailBody
      .Attachments.Add ActiveWorkbook.FullName
      Set xMailOut = xOutApp.CreateItem(olMailItem)
      With xMailOut
      .Display
      End With
      End With
      ActiveWorkbook.Save
      On Error GoTo 0
      Set xOutMail = Nothing
      Set xOutApp = Nothing
      End Sub
  • To post as a guest, your comment is unpublished.
    Chris · 3 years ago
    doesnt work with attachments in Office 2016
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Dear Chris,
      The below VBA code can help you. After running the code, please select cells containing email addresses you will send emails to, and then select the files you need to attach in the email as attachments when the second dialog box pops up. And the default Outlook signature will be displayed in the email body as well. Thank you for your comment.

      Sub SendEmailToAddressInCells()
      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 email address range", "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)
      Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
      If xFileDlg.Show = -1 Then
      For Each xRgEach In xRg
      xRgVal = xRgEach.Value
      If xRgVal Like "?*@?*.?*" Then
      Set xMailOut = xOutApp.CreateItem(olMailItem)
      With xMailOut
      .Display
      .To = xRgVal
      .Subject = "Test"
      .HTMLBody = "This is a test email sending in Excel" & "
      " & .HTMLBody
      For Each xFileDlgItem In xFileDlg.SelectedItems
      .Attachments.Add xFileDlgItem
      Next xFileDlgItem
      '.Send
      End With
      End If
      Next
      Set xMailOut = Nothing
      Set xOutApp = Nothing
      Application.ScreenUpdating = True
      End If
      End Sub
  • To post as a guest, your comment is unpublished.
    Favio · 3 years ago
    thank u very much, u save my life with this template :D
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Dear Favio,
      Glad to help.