Accéder au contenu principal

Comment envoyer un calendrier à plusieurs destinataires individuellement dans Outlook ?

Author: Xiaoyang Last Modified: 2025-08-06

Normalement, vous pouvez envoyer un calendrier à un destinataire rapidement et facilement en utilisant la fonctionnalité Envoyer le calendrier par e-mail dans Outlook. Si vous souhaitez envoyer un calendrier sous forme de fichier iCalendar à plusieurs contacts individuellement, vous devez l'envoyer un par un. Dans cet article, je vais parler d'une méthode simple pour envoyer un calendrier à plusieurs destinataires individuellement dans Outlook.

Envoyer un calendrier à plusieurs destinataires individuellement avec un code VBA


Envoyer un calendrier à plusieurs destinataires individuellement avec un code VBA

Pour envoyer un calendrier à plusieurs destinataires séparément, le code VBA suivant peut vous aider, veuillez procéder comme suit :

1. Accédez au volet Contacts et sélectionnez les contacts auxquels vous souhaitez envoyer le calendrier.

2. Ensuite, maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

3. Cliquez sur Insérer > Module, copiez et collez le code ci-dessous dans le module vide ouvert, voir capture d'écran :

Code VBA : Envoyer un calendrier à plusieurs destinataires individuellement :

Sub EmailCalendarToMultiplePersonsSeparately()
Dim xSelection As Outlook.Selection
Dim xCalendarFolder As Outlook.Folder
Dim xCalendarExporter As Outlook.CalendarSharing
Dim xStartDate, xEndDate As Date
Dim xCalendarFile As String
Dim xContactItem As Outlook.ContactItem
Dim xDistListItem As Outlook.DistListItem
Dim xItem As Object
Dim xMailItem As Outlook.MailItem
Dim xFilePath, xFileName, xEmailAddress As String
Dim xRecipient As Recipient
On Error Resume Next
xFilePath = CreateObject("WScript.Shell").SpecialFolders(16) & "\MyCalendar"
If Dir(xFilePath, vbDirectory) = "" Then MkDir xFilePath
If Outlook.Application.ActiveExplorer.CurrentFolder.DefaultItemType <> olContactItem Then
    MsgBox "Please Select contacts first!", vbExclamation + vbOKOnly, "Kutools for Outlook"
    Exit Sub
End If
Set xSelection = Outlook.Application.ActiveExplorer.Selection
If xSelection Is Nothing Then Exit Sub
Set xCalendarFolder = Outlook.Application.Session.PickFolder
If xCalendarFolder Is Nothing Then Exit Sub
If xCalendarFolder.DefaultItemType <> olAppointmentItem Then Exit Sub
Set xCalendarExporter = xCalendarFolder.GetCalendarExporter
xStartDate = InputBox("Enter the start date:", "Kutools for Outlook", "")
If Len(Trim(xStartDate)) = 0 Then Exit Sub
xEndDate = InputBox("Enter the end date:", "Kutools for Outlook", "")
If Len(Trim(xEndDate)) = 0 Then Exit Sub
If xStartDate = #1/1/4501# Or xEndDate = #1/1/4501# Then Exit Sub
xFileName = "Calendar (" & Format(xStartDate, "YYYYMMDD") & " - " & Format(xEndDate, "YYYYMMDD") & ").ics"
xCalendarFile = xFilePath & "\" & xFileName
With xCalendarExporter
    .IncludeWholeCalendar = False
    .StartDate = xStartDate
    .EndDate = xEndDate
    .CalendarDetail = olFullDetails
    .IncludeAttachments = True
    .IncludePrivateDetails = False
    .RestrictToWorkingHours = False
    .SaveAsICal xCalendarFile
End With
For Each xItem In xSelection
    If xItem.Class = olContact Then
        Set xContactItem = xItem
        Set xMailItem = Outlook.Application.CreateItem(olMailItem)
        With xMailItem
            .To = xContactItem.Email1Address
            .Recipients.ResolveAll
            .Subject = xFileName
            .Attachments.Add xCalendarFile
            .Body = "Dear " & xContactItem.FullName & "," & vbCrLf & "Type body here..."
            .Display
        End With
    End If
    If xItem.Class = olDistributionList Then
        Set xDistListItem = xItem
        For i = 1 To xDistListItem.MemberCount
            Set xRecipient = xDistListItem.GetMember(i)
            Set xMailItem = Outlook.Application.CreateItem(olMailItem)
            With xMailItem
                .To = xRecipient.AddressEntry.Address
                .Recipients.ResolveAll
                .Subject = xFileName
                .Attachments.Add xCalendarFile
                .Body = "Dear " & xRecipient.Name & "," & vbCrLf & "Type body here..."
                .Display
            End With
        Next i
    End If
Next
End Sub
doc send calendar to multiple persons 1

4. Après avoir inséré le code, appuyez sur la touche F5 pour exécuter ce code, et une boîte de dialogue Sélectionner un dossier apparaît. Veuillez sélectionner un calendrier que vous souhaitez envoyer, voir capture d'écran :

doc send calendar to multiple persons 2

5. Cliquez sur OK, puis spécifiez la plage de dates que vous souhaitez envoyer dans les boîtes de dialogue suivantes, voir capture d'écran :

doc send calendar to multiple persons 3

6. Ensuite, cliquez sur OK, des nouveaux emails avec le calendrier attaché ont été créés comme le montre la capture d'écran ci-dessous, il ne vous reste plus qu'à les envoyer un par un.

doc send calendar to multiple persons 4

Articles connexes :

Comment envoyer un email à plusieurs destinataires individuellement dans Outlook ?

Comment envoyer des emails personnalisés en masse à partir d'une liste Excel via Outlook ?

Comment envoyer plusieurs brouillons à la fois dans Outlook ?

Comment envoyer un email à plusieurs destinataires sans qu'ils le sachent dans Outlook ?


Meilleurs outils de productivité pour Office

Dernière nouvelle : Kutools pour Outlook lance une version gratuite !

Découvrez le tout nouveau Kutools pour Outlook avec plus de100 fonctionnalités incroyables ! Cliquez pour télécharger dès maintenant !

🤖 Kutools IA : Utilise une technologie avancée d’intelligence artificielle pour gérer vos emails en toute simplicité, notamment répondre, résumer, optimiser, étendre, traduire et rédiger des emails.

📧 Automatisation des emails : Réponse automatique (disponible pour POP et IMAP) / Programmation de l’envoi des emails / CC/BCC automatique selon des règles lors de l’envoi / Transfert automatique (Règle avancée) / Ajout automatique de la salutation / Fractionnement automatique des emails multi-destinataires en messages individuels...

📨 Gestion des emails : Rappeler les emails / Bloquer les emails frauduleux par sujet et autres critères / Supprimer les emails en double / Recherche Avancée / Organiser les dossiers...

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

🌟 Magie de l’interface : 😊Davantage d’emojis beaux et sympas / Recevez une alerte en cas d’email important / Réduisez Outlook au lieu de le fermer...

👍 Fonctions en un clic : Répondre à tous avec pièces jointes / Anti-phishing emails / 🕘Afficher le fuseau horaire de l’expéditeur...

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

Utilisez Kutools dans la langue de votre choix– prend en charge l’anglais, l’espagnol, l’allemand, le français, le chinois, et plus de40 autres langues !

Débloquez instantanément Kutools pour Outlook en un seul clic. N’attendez plus, téléchargez maintenant et augmentez votre productivité !

kutools for outlook features1 kutools for outlook features2