Bonjour à tous,
Je rencontre des difficultés concernant une macro que j’exécute pour gérer les rendez vous d'un calendrier partagé depuis une liste de rendez-vous sur un fichier excel...
Pour l'ajout ok, tout fonctionne.
J'ai besoin d'avoir un module qui supprime tous les rendez vous de ce calendrier partagé...
j'ai un module sur lequel j'ai des bugs...
Il est fonctionnel mais est assez long... et surtout, il me fait "merdouiller" outlook... jusqu'à provoquer sa fermeture...
Je n'arrive pas à voir dans mon code pourquoi...
Je transmets le code ci dessous si quelqu'un aurait une petite idée...
Merci bien
Je rencontre des difficultés concernant une macro que j’exécute pour gérer les rendez vous d'un calendrier partagé depuis une liste de rendez-vous sur un fichier excel...
Pour l'ajout ok, tout fonctionne.
J'ai besoin d'avoir un module qui supprime tous les rendez vous de ce calendrier partagé...
j'ai un module sur lequel j'ai des bugs...
Il est fonctionnel mais est assez long... et surtout, il me fait "merdouiller" outlook... jusqu'à provoquer sa fermeture...
Je n'arrive pas à voir dans mon code pourquoi...
Je transmets le code ci dessous si quelqu'un aurait une petite idée...
Merci bien
Code:
Sub supprime()
Dim OutlApp As New Outlook.Application
Dim OutlItems As Outlook.Items
Dim OutlMapi As Outlook.Namespace
Dim OutlFolder As Outlook.MAPIFolder
Dim Cell As Range
Dim cal As String
Dim appt As Outlook.AppointmentItem
Dim ol As Outlook.Application
Dim olns As Outlook.Namespace
Dim myRecipient As Outlook.Recipient
Dim myFolder As Outlook.Folder
Dim objExpCal As Outlook.Explorer
Dim objNavMod As Outlook.CalendarModule
Dim objNavGroup As Outlook.NavigationGroup
Dim objNavFolder As Outlook.NavigationFolder
Dim objAppt As AppointmentItem
'plage de donnée
For Each Cell In Sheets("RECAP").Range("A2:A1000")
'fin de plage de donnée
'Crée la sélection du calendrier dans Outlook
Set OutObj = CreateObject("outlook.application")
Set ol = New Outlook.Application
Set olns = ol.Session
Set objExpCal = olns.GetDefaultFolder(olFolderCalendar).GetExplorer
Set objNavMod = objExpCal.NavigationPane.Modules.GetNavigationModule(olModuleCalendar)
Set objNavGroup = objNavMod.NavigationGroups.GetDefaultNavigationGroup(olPeopleFoldersGroup)
Set objAppt = ol.CreateItem(olAppointmentItem)
If olns.DefaultStore.DisplayName = "nom.prénom@societe.com" Then
'cas où le propriétaire du calendrier partagé fait l'opération
Set myFolder = olns.GetDefaultFolder(olFolderCalendar)
Set Mysubfolder = myFolder.Folders("PROSPECTION").Items ' Indiquer nom calendrier du propriétaire
Else
'cas où un autre utilisateur ayant les droits d'éditeur fait l'opération
Set myRecipient = olns.CreateRecipient("Prénom Nom")
myRecipient.Resolve
If myRecipient.Resolved Then
Set Mysubfolder = objNavGroup.NavigationFolders("Prénom Nom - PROSPECTION").Folder.Items
End If
End If
If Mysubfolder.Count > 0 Then
Mysubfolder.Remove Mysubfolder.Count
DoEvents
End If
Next
End Sub