Vérifier si une invitation outlook existe déjà à partir des invités

Bonjour à tous,

Ceci est mon premier poste sur le forum car jusqu'ici je trouvais réponse à tous mes questionnements, je remercie d'ailleurs tous ceux qui m'aideront par avance. Je souhaite créer une macro qui me permette de vérifier si une invitation outlook existe déjà dans mon calendrier à partir de la date, la "location", la durée ET SURTOUT les participants à la réunion.

Ma macro fonctionne pour la date, la "location" et la durée, par contre lorsque j'ajoute la condition des participants elle ne me trouve pas la réunion. j'ai cherché partout et je suis dans une impasse, je vous mets mon code ici :

Sub Verif_Appointment()

Dim MyNameSpace As Outlook.NameSpace
Dim ApptItem As Outlook.AppointmentItem
Dim Myfolder As Outlook.MAPIFolder

Set MyNameSpace = Application.GetNamespace("MAPI")
Set Myfolder = MyNameSpace.GetDefaultFolder(olFolderCalendar)

For Each ApptItem In Myfolder.Items

    If ApptItem.Start = "dd/mm/yyyy hh:mm AMPM" Then

      If ApptItem.Location = "teams" Then

        If ApptItem.Duration = "mm" Then

            If ApptItem.RequiredAttendees = "Prénom NOM" Then
            MsgBox ("L'invitation existe déjà")
            End If

        End If

      End If

N'hésitez pas si vous avez besoin d'éclaircissement, et merci d'avance !

Bonjour,

Essayer ce code :

Sub Verif_Appointment()

    Dim calendrier As Outlook.Folder
    Dim evts_trouvés As Outlook.Items
    Dim evt As Outlook.AppointmentItem
    Dim filtre As String
    Dim date_rech As Date
    Dim tb()

    'affectation calendrier
    Set calendrier = Application.Session.GetDefaultFolder(olFolderCalendar)

    'filtrage des événements correspondant à une date dans une fourchette de 24h
    date_rech = CDate("dd/mm/yyyy hh:mm")
    filtre = "[Start] > '" & Format(date_rech - 1, "ddddd") & "'" & "And" & "[Start] < '" & Format(date_rech + 1, "ddddd") & "'"
    Set evts_trouvés = calendrier.Items.Restrict(filtre)

    'analyse des événements trouvés
    For Each evt In evts_trouvés
        If evt.Start = date_rech _
        And evt.Location = "teams" _
        And evt.Duration = "mm" Then
            tb = Split(evt.RequiredAttendees, ";")
            If UBound(Filter(tb, "Prénom NOM")) > -1 Then MsgBox ("L'invitation existe déjà")
        End If
    Next evt

End Sub

Bonjour,

Merci beaucoup pour l'aide, j'arrive à comprendre globalement le cheminement que vous faites mais ça ne fonctionne pas chez moi ^^' Pourriez vous m'indiquez de quelle manière je dois compléter cette partie ?

filtre = "[Start] > '" & Format(date_rech - 1, "ddddd") & "'" & "And" & "[Start] < '" & Format(date_rech + 1, "ddddd") & "'"

J'ai aussi "une erreur à "3" " qui apparait systématiquement pour la ligne suivante :

Set evts_trouvés = calendrier.Items.Restrict(filtre)

Merci d'avance pour votre aide !

Merci beaucoup pour l'aide, j'arrive à comprendre globalement le cheminement que vous faites mais ça ne fonctionne pas chez moi ^^' Pourriez vous m'indiquez de quelle manière je dois compléter cette partie ?

filtre = "[Start] > '" & Format(date_rech - 1, "ddddd") & "'" & "And" & "[Start] < '" & Format(date_rech + 1, "ddddd") & "'"

Cette ligne doit rester telle quelle.

Cette instruction est à modifier en fonction de la date souhaitée

date_rech = CDate("dd/mm/yyyy hh:mm")

et tout fonctionnera.

Bonjour Thev,

Merci beaucoup pour votre aide, ça fonctionne !!

Rechercher des sujets similaires à "verifier invitation outlook existe deja partir invites"