Accéder au contenu principal

Kutools for Office — Une Suite. Cinq Outils. Accomplissez Plus.

Comment envoyer un calendrier à plusieurs destinataires individuellement dans Outlook ?

Author Xiaoyang Last modified

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 sa 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 : Exploite une technologie avancée d’IA pour gérer les e-mails en toute simplicité, notamment pour répondre, résumer, optimiser, étendre, traduire et rédiger des e-mails.

📧 Automatisation des E-mails : Réponse automatique (disponible pour POP et IMAP) / Programmer l’envoi d’un e-mail / CC/BCC automatique par règle lors de l’envoi / Transfert automatique (règle avancée) / Ajouter automatiquement une salutation / Diviser automatiquement les e-mails multi-destinataires en messages individuels ...

📨 Gestion des E-mails : Rappeler lemail / Bloquer les e-mails frauduleux par objet et autres critères / Supprimer les doublons / Recherche Avancée / Organiser les dossiers ...

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

🌟 Interface magique : 😊Plus d’emojis élégants et amusants / Vous rappelle lorsque des e-mails importants arrivent / Réduire Outlook au lieu de fermer ...

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

👩🏼‍🤝‍👩🏻 Contacts & Calendrier : Ajouter en lot des contacts à 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 – prend en charge l’Anglais, l’Espagnol, l’Allemand, le Français, le Chinois et plus de40 autres !

Débloquez instantanément Kutools pour Outlook en un seul clic. N’attendez pas, téléchargez dès maintenant pour gagner en efficacité !

kutools for outlook features1 kutools for outlook features2

🚀 Téléchargement en un clic — Obtenez tous les compléments Office

Recommandé vivement : Kutools pour Office (5-en-1)

Un clic pour télécharger cinq installateurs en une seule fois — Kutools pour Excel, Outlook, Word, PowerPoint et Office Tab Pro. Cliquez pour télécharger dès maintenant !

  • Praticité en un clic : téléchargez les cinq packages d’installation en une seule action.
  • 🚀 Prêt pour toutes les tâches Office : installez les compléments dont vous avez besoin, quand vous en avez besoin.
  • 🧰 Inclus : Kutools pour Excel / Kutools pour Outlook / Kutools pour Word / Office Tab Pro / Kutools pour PowerPoint