Comment envoyer automatiquement un message d’anniversaire à un contact lorsque c’est son anniversaire aujourd’hui dans Outlook ?
Parfois, vous souhaitez envoyer automatiquement un message d’anniversaire à un contact dès que c’est son anniversaire dans Outlook. Cela devient vite fastidieux si vous devez vérifier un par un les anniversaires de vos contacts et envoyer manuellement chaque courriel. Dans cet article, je vous propose une solution simple et efficace grâce à un code VBA.
Envoyer automatiquement un message d’anniversaire à un contact en fonction de sa date de naissance à l’aide d’un code VBA dans Outlook
Pour envoyer automatiquement un message d’anniversaire à un contact dont c’est l’anniversaire aujourd’hui, insérez d’abord un code VBA, puis créez une tâche récurrente pour l’exécuter.
Les étapes suivantes peuvent vous aider :
1. Lancez Outlook, puis maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Dans la fenêtre Microsoft Visual Basic pour Applications, double-cliquez sur ThisOutlookSession dans le volet Projet1 (VbaProject.OTM) pour ouvrir le module, puis copiez-collez le code suivant dans le module vide.
Code VBA : envoi automatique d’un message d’anniversaire à un contact en fonction de sa date de naissance :
Private Sub Application_Reminder(ByVal Item As Object)
Dim xTempMail As MailItem
Dim xFilePath As String
Dim xItems As Outlook.Items
Dim xItem As Object
Dim xContactItem As Outlook.ContactItem
Dim xTodayDate As String
Dim xBirthdayDate As String
Dim xGreetingMail As Outlook.MailItem
Dim xWordDoc As Word.Document
Dim xGreetings As String
Dim xBool As Boolean
xFilePath = CreateObject("shell.Application").NameSpace(5).self.Path & "\UserTemplates"
Set xFSO = CreateObject("Scripting.FileSystemObject")
If xFSO.FolderExists(xFilePath) = False Then
MkDir xFilePath
End If
If IsFileExists(xFilePath & "\Birthday Greeting Mail.oft") = False Then
Set xTempMail = Outlook.CreateItem(olMailItem)
xTempMail.SaveAs xFilePath & "\Birthday Greeting Mail.oft", olTemplate
xTempMail.Close olDiscard
End If
If (TypeOf Item Is TaskItem) And (Item.Subject = "Send Birthday Greeting Mail") Then
xGreetings = "Happy Birthday!"
xGreetings = InputBox("Input birthday greetings", "Kutools for Outlook", xGreetings)
xTodayDate = Month(Date) & "-" & Day(Date)
Set xItems = Outlook.Application.Session.GetDefaultFolder(olFolderContacts).Items
For Each xItem In xItems
If Not (TypeOf xItem Is ContactItem) Then Exit Sub
Set xContactItem = xItem
xBirthdayDate = Month(xContactItem.Birthday) & "-" & Day(xContactItem.Birthday)
If xBirthdayDate = xTodayDate Then
Set xGreetingMail = Outlook.Application.CreateItemFromTemplate(xFilePath & "\Birthday Greeting Mail.oft")
Set xWordDoc = xGreetingMail.GetInspector.WordEditor
xWordDoc.Range.InsertBefore "Dear " & xContactItem.LastName & Chr(10) & xGreetings & Chr(10) & Chr(10)
With xGreetingMail
.Recipients.Add (xContactItem.Email1Address)
.Subject = "Happy Birthday!"
.Display
.Close (olSave)
.Send
End With
End If
Next
End If
End Sub
Function IsFileExists(ByVal FileName As String) As Boolean
Dim xFileSystem As Object
Set xFileSystem = CreateObject("Scripting.FileSystemObject")
If xFileSystem.FileExists(FileName) = True Then
IsFileExists = True
Else
IsFileExists = False
End If
End Function 
3. Cliquez ensuite sur Outils > Références dans la fenêtre Microsoft Visual Basic pour Applications. Dans la boîte de dialogue Références - Projet1 qui s’ouvre, cochez les options Microsoft Word Object Library et Microsoft Scripting Runtime dans la liste Références disponibles, comme illustré ci-dessous :

4. Cliquez ensuite sur OK pour fermer la boîte de dialogue. Vous devez maintenant créer une tâche pour déclencher le code VBA. Accédez au volet Tâches, puis cliquez sur Tâche pour créer une tâche :
(1.) Dans la ligne Objet, saisissez comme objet :Envoyer un courriel d’anniversaire;
(2.) Cliquez ensuite sur Récurrencesous l’onglet Tâche;
(3.) Dans la boîte de dialogue Récurrence de la tâche, sélectionnez Quotidienet spécifiez l’option tous les 1 jour(s)dans la section Modèle de récurrence;

5. Cliquez ensuite sur OK pour fermer la boîte de dialogue. De retour dans la fenêtre de la tâche, définissez un rappel pour la tâche récurrente comme indiqué dans la capture d’écran suivante :

6. Dès maintenant, dès que le rappel s’affiche, la macro se déclenche immédiatement. Une boîte de dialogue apparaît pour vous demander d’insérer votre message d’anniversaire, comme illustré dans la capture d’écran suivante :

7. Cliquez ensuite sur le bouton OK, et un courriel d’anniversaire sera automatiquement envoyé au contact dont c’est l’anniversaire aujourd’hui.
Meilleurs outils de productivité Office
Découvrez la toute nouvelle Kutools pour Outlook avec 100+ fonctionnalités incroyables !Cliquez pour télécharger dès maintenant !
📧Automatisation des e-mails : Réponse automatique (disponible pour POP et IMAP) / Planification de l’envoi d’e-mails / CC/BCC automatique selon des règles lors de l’envoi d’e-mails / Transfert automatique (règle avancée) / Ajout automatique de formules de politesse / Division automatique des e-mails à plusieurs destinataires en messages individuels...
📨Gestion des e-mails : Rappeler un e-mail / Bloquer les e-mails frauduleux par objet et autres critères / Supprimer les e-mails en double / Recherche avancée / Organiser vos dossiers…
📁Pièces jointes Pro : Enregistrer en lot / Détacher en lot / Compresser en lot / Enregistrement automatique / Détachement automatique / Compression automatique…
🌟Magie de l’interface : 😊 Encore plus d’emojis jolis et stylés / Vous prévient à l’arrivée d’e-mails importants / Réduire Outlook au lieu de le fermer...
👍Merveilles en un clic : Répondre à tous avec pièces jointes / E-mails anti-hameçonnage / 🕘 Afficher le fuseau horaire – Heure actuelle de l’expéditeur…
👩🏼🤝👩🏻Contacts et calendrier : Créer en lot : ajouter un contact à partir des e-mails sélectionnés / Diviser un groupe de contacts en groupes individuels / Supprimer le rappel d’anniversaire…
Utilisez Kutools dans votre langue préférée – compatible avec l’anglais, l’espagnol, l’allemand, le français, le chinois et plus de 40 autres langues !


🚀 Téléchargement en un clic — Obtenez tous les compléments Office
Fortement recommandé : Kutools for Office (5-en-1)
Un seul clic pour télécharger cinq programmes d’installationen une fois —Kutools pour Excel, Outlook, Word, PowerPointet Office Tab Pro.Cliquez pour télécharger dès maintenant !
- ✅Commodité en un clic : téléchargez les cinq packs d’installation en une seule action.
- 🚀Prêt à relever toutes vos tâches Office : installez les compléments dont vous avez besoin, exactement quand vous en avez besoin.
- 🧰Inclus: Kutools pour Excel / Kutools pour Outlook / Kutools pour Word / Office Tab Pro / Kutools for PowerPoint