Accéder au contenu principal

Comment changer automatiquement la signature en fonction des destinataires dans Outlook ?

Author: Siluvia Last Modified: 2025-05-27

Par défaut, Outlook dispose d'une fonction intégrée permettant aux utilisateurs de changer automatiquement de signature lors de l'envoi d'e-mails via différents comptes e-mail. Mais au-delà de cela, je vais ici vous montrer une méthode pour changer automatiquement la signature en fonction des différents destinataires dans le champ À d'Outlook.

Changer automatiquement la signature en fonction des destinataires avec un code VBA


Changer automatiquement la signature en fonction des destinataires avec un code VBA

Veuillez suivre les étapes ci-dessous pour appliquer différentes signatures aux destinataires correspondants lors de l'envoi d'e-mails dans Outlook.

1. Tout d'abord, vous devez désactiver la fonction de signature auto-attachée dans Outlook. Cliquez sur Fichier > Options pour ouvrir la fenêtre Options Outlook.

2. Dans la fenêtre Options Outlook, sélectionnez Mail dans le volet gauche, puis cliquez sur le bouton Signatures dans la section Composer des messages. Voir capture d'écran :

using vba to change signature based on recipients automatically with code

3. Dans la boîte de dialogue Signatures et papier à lettres, allez dans la section Choisir la signature par défaut sous l'onglet Signature E-mail, sélectionnez un compte e-mail dans la liste déroulante Compte-e-mail, puis choisissez (aucun) dans les listes déroulantes Nouveaux messages et Réponses/transferts. Répétez ces étapes jusqu'à ce que tous les comptes e-mail soient définis sur (aucun). Ensuite, cliquez sur le bouton OK.

using vba to change signature based on recipients automatically with VBA code

Remarque : Vous pouvez également créer les signatures nécessaires dans cette boîte de dialogue Signatures et papier à lettres.

4. Cliquez sur le bouton OK lorsque vous revenez à la fenêtre Options Outlook.

5. Appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

6. Dans la fenêtre Microsoft Visual Basic for Applications, double-cliquez sur ThisOutlookSession dans le volet gauche pour ouvrir la fenêtre Code, puis copiez le code VBA ci-dessous dans la fenêtre. Voir capture d'écran :

using vba to change signature based on recipients automatically with VBA code

Code VBA : Changer automatiquement la signature en fonction des destinataires dans Outlook

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updated by ExtendOffice 2022/08/01
Dim xMailItem As MailItem
Dim xRecipients As Recipients
Dim xRecipient As Recipient
Dim xRcpAddress As String
Dim xSignatureFile, xSignaturePath As String
Dim xFSO As Scripting.FileSystemObject
Dim xDoc As Document
Dim xFindStr As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
If Item.Class <> olMail Then Exit Sub
Set xMailItem = Item
Set xRecipients = xMailItem.Recipients
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
For Each xRecipient In xRecipients
    If xRecipient.AddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Then
        xRcpAddress = xRecipient.AddressEntry.GetExchangeUser.PrimarySmtpAddress
    Else
        xRcpAddress = xRecipient.AddressEntry.Address
    End If
    Select Case xRcpAddress
        Case "Email Address 1"
            xSignatureFile = xSignaturePath & "aaa.htm"
            Exit For
        Case "Email Address 2", "Email Address 3"
            xSignatureFile = xSignaturePath & "bbb.htm"
            Exit For
        Case "Email Address 4"
            xSignatureFile = xSignaturePath & "ccc.htm"
            Exit For
    End Select
Next
VBA.DoEvents
Set xDoc = xMailItem.GetInspector.WordEditor
xFindStr = "From: " & xMailItem.Recipients.Item(1).Name & " <" & xRcpAddress & ">"
If VBA.InStr(1, xMailItem.Body, xFindStr) <> 0 Then
    xDoc.Application.Selection.HomeKey Unit:=wdStory, Extend:=wdMove
    With xDoc.Application.Selection.Find
        .ClearFormatting
        .Text = xFindStr
        .Execute Forward:=True
    End With
    With xDoc.Application.Selection
        .MoveLeft wdCharacter, 2
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
Else
    With xDoc.Application.Selection
        .EndKey Unit:=wdStory, Extend:=wdMove
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
End If
xDoc.Application.Selection.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End Sub

Remarques :

  • 1). Dans le code VBA, remplacez « Adresse E-mail 1/2/3/4 » par les adresses e-mail spécifiques des destinataires.
  • 2). « aaa.htm », « bbb.htm » et « ccc.htm » sont les signatures spécifiées que vous enverrez aux destinataires correspondants.
  • 3). Dans ce cas, la signature « aaa » sera envoyée à « Adresse E-mail 1 », la signature « bbb » sera envoyée à « Adresse E-mail 2 » et « Adresse E-mail 3", et « Adresse E-mail 4 » recevra l'e-mail contenant la signature « ccc ». Veuillez les modifier selon vos besoins.
  • 4). S'il y a plusieurs destinataires dans un e-mail, le code ne prend en compte que le premier destinataire. Dans ce cas, les autres destinataires recevront les e-mails avec la même signature que le premier destinataire.

7. Ensuite, cliquez sur Outils > Références pour accéder à la boîte de dialogue Références-Projet. Dans la boîte de dialogue, cochez à la fois les options Bibliothèque d'objets Microsoft Word et Runtime Scripting Microsoft, puis cliquez sur le bouton OK, voir capture d'écran :

using vba to change signature based on recipients automatically with VBA code

8. Appuyez sur les touches Alt + Q pour fermer la fenêtre Microsoft Visual Basic for Applications.

Dès maintenant, après avoir rédigé un e-mail et appuyé sur le bouton Envoyer, la signature correspondante sera automatiquement insérée à la fin du corps de l'e-mail en fonction de l'adresse e-mail du destinataire dans le champ À.


Insérer automatiquement la date actuelle comme signature lors de l'envoi d'un e-mail dans Outlook :

Si vous souhaitez insérer un horodatage comme signature dans le corps de l'e-mail lors de la création/réponse/transfert d'un nouvel e-mail dans votre Outlook, vous pouvez activer Ajouter une signature de date lors de la création, réponse et transfert d'e-mails option de Kutools pour Outlook pour y parvenir. Voir capture d'écran :
Téléchargez et essayez-le dès maintenant (30-jour d'essai gratuit)

using vba to change signature based on recipients automatically with VBA code


Meilleurs outils de productivité pour Office

Dernières nouvelles : Kutools pour Outlook lance une version gratuite !

Découvrez la toute nouvelle version GRATUITE de Kutools pour Outlook avec plus de70 fonctionnalités incroyables, à utiliser POUR TOUJOURS ! Cliquez pour télécharger maintenant !

🤖 Kutools IA : Utilise une technologie IA avancée pour gérer les emails sans effort, y compris répondre, résumer, optimiser, étendre, traduire et composer des emails.

📧 Automatisation des emails : Réponse automatique (Disponible pour POP et IMAP) / Programmation d'envoi d'emails / CC/BCC automatique par règle lors de l'envoi d'un email / Transfert automatique (Règle avancée) / Ajouter automatiquement une salutation / Diviser automatiquement les emails multi-destinataires en messages individuels...

📨 Gestion des emails : Rappeler les emails / Bloquer les emails frauduleux par sujets et autres / Supprimer les emails en double / Recherche avancée / Organiser les dossiers...

📁 Pièces jointes Pro : Enregistrement par lot / Détachement par lot / Compression par lot / Enregistrement automatique / Détachement automatique / Compression automatique...

🌟 Magie de l'interface : 😊Plus d'emojis jolis et cool / Vous rappeler lorsque des emails importants arrivent / Réduire Outlook au lieu de fermer...

👍 Merveilles en un clic : Répondre à tous avec pièces jointes / Emails anti-phishing / 🕘Afficher le fuseau horaire de l'expéditeur...

👩🏼‍🤝‍👩🏻 Contacts & Calendrier : Ajouter des contacts par lot à partir des emails sélectionnés / Diviser un groupe de contacts en groupes individuels / Supprimer le rappel d'anniversaire...

Déverrouillez instantanément Kutools pour Outlook d'un simple clic. Ne tardez pas, téléchargez maintenant et boostez votre efficacité !

kutools for outlook features1 kutools for outlook features2