XL 2013 Inscrire un rdv dans un calendrier partagé

xad

XLDnaute Nouveau
bonjour,

Malgrè les nbx posts sur le sujet, je n'arrive pas à écrire mon code pour inscrire un rdv (pas une réunion) dans un calendrier partagé.
Mon arborescence dans outlook :
.Mes calendriers
- Calendrier
.Calendriers Partagés
- planning (calendrier visé dont je ne suis pas le propriétaire)
-etc...

Mon code est le suivant :
Sub AjoutRDVCalendrierpartage()
Dim oOutlook As Outlook.Application
Dim oAppointment As Outlook.AppointmentItem
Dim namespaceOutlook As Outlook.NameSpace
Dim DossierCalendrier As Outlook.MAPIFolder
Dim myrecipient As Object
On Error GoTo Err_Execution
Set oOutlook = CreateObject("Outlook.Application")
Set namespaceOutlook = oOutlook.GetNamespace("MAPI")
Set myrecipient = Recipients.Add("mail du proprietaire du calendrier")
'définit le dossier calendrier
'GetDefaultFolder renvoit le calendrier du compte actif
Set DossierCalendrier = namespaceOutlook.GetSharedDefaultFolder(myrecipient, olFolderCalendar).Folders("nom quej'aidonné au calendrier")
'on crée un nouveau rendez-vous
Set oAppointment = DossierCalendrier.Items.Add
'on renseigne ensuite les principaux paramètres
With oAppointment
.Start = "13/07/19 08:30:00"
.Duration = 380 'durée de rdv, en minutes
.Subject = "INTERVENTION XXX " 'Sujet du rdv
.Location = "Paris" 'Lieu du rdv
.Display

End With
'Libération des variables.
Set oAppointment = Nothing
Set oOutlook = Nothing
Fin_Execution:
Exit Sub
Err_Execution:
MsgBox Err.Description, vbExclamation
Resume Fin_Execution
End Sub

Le message d'erreur renvoyé par Excel intervient dès la première ligne de code : erreur de compilation ,type défini par l'utilisateur non défini
Si je mets ce code directement dans outlook, le message d'erreur est : objet requis

Merci pour votre aide !!
 
C

Compte Supprimé 979

Guest
Bonjour,

Le message d'erreur renvoyé par Excel intervient dès la première ligne de code : erreur de compilation ,type défini par l'utilisateur non défini
Si je mets ce code directement dans outlook, le message d'erreur est : objet requis
C'est qu tu n'as pas coché la référence "Mircosoft Outlook" dans les références de VBAProject
2019-04-10_10h27_21.png


2019-04-10_10h26_20.png


A+
 

xad

XLDnaute Nouveau
Bonjour,

Le fichier n'est pas finalisé. Je ne ferai la maquette globale avec choix du rdv à créer que si j'arrive à inscrire mon rdv dans un calendrier partagé.
Merci pour ton aide.

A+
 

Pièces jointes

  • testrdv.xlsm
    25.2 KB · Affichages: 14
C

Compte Supprimé 979

Guest
Bonjour Xad,

Alors pour commencer et par rapport à ton message d'erreur que je trouvais étrange.
Tu ne sais apparemment faire la différence entre une redirection d'erreur et un débogage simple :rolleyes:

Il faut mettre cette ligne en commentaire
VB:
On Error GoTo Err_Execution

Cela t'aurais permis de voir que ça bloque sur la ligne
Code:
Set MyRecipient = Recipients.Add("adresse mail du calendrier partagé")

Ensuite, je ne pense pas que ce soit la bonne méthode

Une solution peut-être ici
https://www.excel-downloads.com/thr...er-partage-outlook-a-partir-excel-vba.231634/
 

STephane

XLDnaute Occasionnel
Bonjour

Ton code semble correct. Pour compléter la réponse de Bruno, tu peux rajouter un bloc d'instruction pour contrôler que le "recipient" soit reconnu.

VB:
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objDummy = objApp.CreateItem(olMailItem)
Set objRecip = objDummy.Recipients.Add(strName)
objRecip.Resolve
If objRecip.Resolved Then
    On Error Resume Next
    Set objFolder = _
      objNS.GetSharedDefaultFolder(objRecip, _
        olFolderCalendar)
...

Bout de code repris ici: http://www.outlookcode.com/codedetail.aspx?id=43

HTH
STéphane
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 151
Membres
103 133
dernier inscrit
mtq