Comment ajouter différentes signatures à plusieurs comptes de messagerie lors de la réponse ou du transfert dans Outlook ?
Dans le tutoriel : Email Signatures In Outlook, vous devriez savoir comment créer une signature dans Outlook. Cependant, après avoir créé une nouvelle signature, vous devrez l'ajouter manuellement si vous souhaitez l'utiliser lorsque vous répondez ou transférez un message en sélectionnant Signature > The created signature dans la fenêtre du message.
Bien sûr, vous pouvez configurer Outlook pour qu'il ajoute automatiquement une signature lorsque vous répondez ou transférez un nouveau message en cliquant sur Signature > Signatures et en sélectionnant une signature pour un compte de messagerie spécifique comme indiqué ci-dessous.

Cependant, que faire si vous avez de nombreux comptes de messagerie et que vous souhaitez ajouter différentes signatures pour vos différents comptes en lot ? Dans ce tutoriel, je vais vous présenter une méthode VBA pour vous aider à accomplir cette tâche facilement.
Ajouter différentes signatures à plusieurs comptes de messagerie lors de la réponse ou du transfert dans Outlook
1. Dans votre Outlook, appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Dans la fenêtre Microsoft Visual Basic for Applications, double-cliquez sur ThisOutlookSession dans le volet Projet, puis copiez le code VBA ci-dessous dans la fenêtre ThisOutlookSession (Code). Voir capture d'écran :

Code VBA : Ajouter différentes signatures à plusieurs comptes de messagerie lors de la création d'un nouvel email dans Outlook - ThisOutlookSession
Public WithEvents GInspectors As Inspectors
Public WithEvents GExplorer As Explorer
Private Sub Application_Startup()
Set GInspectors = Application.Inspectors
Set GExplorer = Application.ActiveExplorer
End Sub
Private Sub GExplorer_InlineResponse(ByVal Item As Object)
‘Update by ExtendOffice
Dim xMail As MailItem
On Error Resume Next
EndTimer
If Item.Class = olMail Then
Set xMail = Item
Set GInspector = Nothing
Set GInspector = xMail.GetInspector
StartTimer
End If
End Sub
Private Sub GInspectors_NewInspector(ByVal Inspector As Inspector)
On Error Resume Next
EndTimer
Set GInspector = Nothing
Set GInspector = Inspector
StartTimer
End Sub
3. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insérer > Module. Ensuite, copiez le code VBA suivant dans la fenêtre Module.

Code VBA : Ajouter différentes signatures à plusieurs comptes de messagerie lors de la réponse ou du transfert dans Outlook - Module
Public Declare PtrSafe Function SetTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As Long
Public Declare PtrSafe Function KillTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public GInspector As Inspector
Sub StartTimer()
On Error Resume Next
TimerID = SetTimer(0&, 0&, 1000&, AddressOf TimerProc)
End Sub
Sub EndTimer()
On Error Resume Next
KillTimer 0&, TimerID
End Sub
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As Long)
On Error Resume Next
Call SetSignatureToAccount
EndTimer
End Sub
Sub SetSignatureToAccount()
‘Update by ExtendOffice
Dim xMail As MailItem
Dim xSignatureFile, xSignaturePath As String
Dim xSubject As String
Dim xDoc As Document
Dim xAccount As Account
Dim xIsNew As Boolean
Dim xInspector As Inspector
Const PR_SMTP_ADDRESS As String = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
On Error Resume Next
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
xSubject = GInspector.Caption
Set xDoc = GInspector.WordEditor
xIsNew = False
Set xMail = GInspector.CurrentItem
Select Case xMail.Parent.Parent
Case "name1@example.com" 'Replace the email address in double quotes
If VBA.InStr(xSubject, "RE: ") Then
xSignatureFile = xSignaturePath & "Signature1.htm" 'Replace "Signature1" with your actual signature name that you will set as the signature when you reply to a message.
ElseIf VBA.InStr(xSubject, "FW: ") Then
xSignatureFile = xSignaturePath & "Signature2.htm" 'Replace "Signature2" with your actual signature name that you will set as the signature when you forward a message.
Else
xIsNew = True
Exit Sub
End If
Case "name2@example.com" 'Replace the email address in double quotes
If VBA.InStr(xSubject, "RE: ") Then
xSignatureFile = xSignaturePath & "Signature3.htm" 'Replace "Signature3" with your actual signature name that you will set as the signature when you reply to a message.
ElseIf VBA.InStr(xSubject, "FW: ") Then
xSignatureFile = xSignaturePath & "Signature4.htm" 'Replace "Signature4" with your actual signature name that you will set as the signature when you forward a message.
Else
xIsNew = True
Exit Sub
End If
'Add more Cases for more email accounts
End Select
If xIsNew = True Then
With xDoc.Application.Selection
.WholeStory
.EndKey
.InsertParagraphAfter
.MoveDown Unit:=wdLine, Count:=1
.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End With
Else
With xDoc.Application.Selection
.MoveRight Unit:=wdCharacter, Count:=1
.HomeKey Emptyparam, Emptyparam
.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End With
End If
Set xDoc = Nothing
Set GInspector = Nothing
Set xMail = Nothing
End Sub
- 1) Vous devez remplacer name1@example.com et name2@example.com aux lignes 39 et 48 par vos adresses e-mail réelles.
- 2) Vous devez remplacer Signature aux lignes 41, 43, 50 et 52 par les noms réels de vos signatures conformément aux commentaires.
- 3) Avec le code VBA ci-dessus, nous pouvons ajouter des signatures à deux comptes de messagerie. Si vous avez plus de comptes, remplacez la ligne 57 du code par davantage de Cas :
Si VBA.InStr(xSubject, "RE: ") = 1 Alors
xSignatureFile = xSignaturePath & "Signature1.htm"
SinonSi VBA.InStr(xSubject, "FW: ") = 1 Alors
xSignatureFile = xSignaturePath & "Signature2.htm"
Sinon
xIsNew = Vrai
Quitter Sous
Fin Si
4. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Outils > Références, cochez la case à côté de Microsoft Word 16.0 Object Library, puis cliquez sur OK.

5. Redémarrez Outlook et enregistrez les codes VBA.
6. Maintenant, lorsque vous répondez ou transférez un message avec un compte de messagerie pour lequel vous avez configuré une signature, la signature correspondante sera ajoutée automatiquement.
Remarque : Si vous constatez qu'il y a deux signatures ajoutées lorsque vous répondez ou transférez un message avec un compte de messagerie, veuillez cliquer sur Signature > Signatures dans la fenêtre du message. Dans la section Choisir la signature par défaut, sélectionnez le compte de messagerie qui a deux signatures, puis choisissez (aucune) dans la liste déroulante Réponses/transferts.

Articles connexes
Comment importer ou insérer des signatures HTML dans Outlook ?
Par exemple, vous avez téléchargé des signatures HTML depuis des sites web et souhaitez les importer dans votre Outlook. Y a-t-il des moyens simples ? Cet article vous guidera pas à pas pour importer ou insérer des signatures HTML dans Outlook.
Comment insérer une couleur d'arrière-plan dans une signature Outlook ?
Il est facile d'ajouter ou de supprimer une couleur d'arrière-plan dans un e-mail dans Outlook. Mais, comment insérer ou supprimer une couleur d'arrière-plan dans une signature Outlook ? Les solutions de contournement ci-dessous vous aideront à résoudre ce problème :
Si vous souhaitez qu'Outlook ajoute automatiquement une signature lorsque vous créez un nouveau message, vous devez configurer la signature par défaut en cliquant sur Signature > Signatures, et en sélectionnant une signature pour un compte de messagerie spécifique comme indiqué ci-dessous. Cependant, que faire si vous avez de nombreux comptes de messagerie et que vous souhaitez ajouter différentes signatures pour vos différents comptes en lot ? Dans ce tutoriel, je vais vous présenter une méthode VBA pour vous aider à accomplir cette tâche facilement.
Comment définir différentes signatures pour les réponses et les transferts dans Outlook ?
Normalement, vous pouvez définir différentes signatures pour différents comptes dans votre Outlook, mais avez-vous déjà essayé d'appliquer différentes signatures pour les réponses et les transferts ? Cela signifie que lorsque vous répondez à un e-mail, la signature1 est insérée, et lorsque vous transférez un e-mail, la signature2 est appliquée. Comment pourriez-vous résoudre cette tâche dans Outlook ?
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 !
📧 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...

