VBA choix d'un calendrier outlook pour inserer des RDVS [Résolu]

Signaler
Messages postés
21
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
17 février 2007
-
 Nicals -
Bonjour,

J'ai un bout de code qui me permet d'envoyer de Excel dans Outlook calendrier un paquet de rendez-vous, le probleme est qu'ils vont toujours dans le calendrier par defaut, j'aimerai offrir un choix d'un calendrier à l'utilisateur.

Si quelqu'un hyperdoué pouvait me passer une solution ce serait géant.
Dans cette attente

Avec mes remerciements anticipés

[mailto:jldancet.scrutas@wanadoo.fr jldancet.scrutas@wanadoo.fr]

24 réponses

Messages postés
21
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
17 février 2007
1
categorie est un champ dans outlook, tu peux aller dans outlook , affichage et tu peux choisir par categorie,
tu peux avoir des categories du style amis, famille, client, etc pour tes rendez-vous, si bien que tu peux shooter tous les
rendez-vous d'une categorie d'un coup
encore merci
amicalement
Jean-Louis 
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
J'imagine donc que tu doives écrire .Categories  (avec un point pour le With)

MPi
Messages postés
21
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
17 février 2007
1
Bonsoir,

J'ai le plaisir de te communiquer le code qui marche à la perfection, But : supprimer des appointments qui répondent à une categorie dans un calendrier partagé en reseau. Ca marche nickel.
Je te remercie encore pour toute l'aide que tu m'as apporté.

SUPPRESSION D'appointments dans un calendrier partagé en réseau pour une catégorie choisie




Sub supprimerRDVPR_SHR()
Application.ScreenUpdating = False


    Dim objApp As Outlook.Application
    Dim objNS As Outlook.Namespace
    Dim objFolder As Outlook.MAPIFolder
    Dim objRecip As Outlook.Recipient
    Dim objAppt As Outlook.AppointmentItem
    Dim objMyCalendar As Outlook.Items
    Dim strMsg As String
    Dim strName As String
    Dim calendrier
    Dim categorie
    Dim dele
    dele = 0
    On Error Resume Next
    Sheets("MACRO").Select
    calendrier = "Nom du calendrier"
    categorie = "Nom de la categorie"
    strName = calendrier
    Set objApp = DemarrerApp("Outlook.Application")
    Set objNS = objApp.GetNamespace("MAPI")
    Set objRecip = objNS.CreateRecipient(strName)
    objRecip.Resolve
    If objRecip.Resolved Then
        On Error Resume Next
        Set objFolder = _
          objNS.GetSharedDefaultFolder(objRecip, _
            olFolderCalendar)
                Set objMyCalendar = objFolder.Items
                Set objAppt = objMyCalendar.Items
            For Each objAppt In objMyCalendar
                With objAppt
                If .Categories <> categorie Then GoTo suite
                      .Delete
                      dele = dele + 1
suite:
               End With
               Set objAppt = Nothing
             Next objAppt
             If dele = 0 Then GoTo fin
             Call supprimerRDVPR_SHR


    Else
        MsgBox "Could not find " & Chr(34) & strName & Chr(34), , _
               "User not found"
    End If
fin:
    Set objApp = Nothing
    Set objNS = Nothing
    Set objFolder = Nothing
    Set objRecip = Nothing
    Set objAppt = Nothing
End Sub

Salutations

Jean-Louis
Bonjour,

Je réactive cette ancienne conversation, mon souci étant similaire.

Je suis en train de réaliser un outil Excel qui permet de restituer des informations de calendrier Outlook.

Je coince au moment de restituer les calendriers qu'une personne a partagé avec moi.

Je récupère bien le calendrier partagé par défaut via la méthode GetSharedDefaultFolder, mais le hic c'est que cette personne a plusieurs calendriers partagés avec moi. Et je n'arrive pas à les récupérer (via une boucle sur GetSharedDefaultFolder.parent par exemple).

Je souhaiterai pouvoir naviguer dans l'arborescence des dossiers partagés aussi simplement que dans celle des dossiers propriétaires, où il suffit de rajouter des niveaux en .folders("xxxx").

Je trouve des éléments de réponse sur le net pour des problèmes similaires, mais les solutions proposées ne proposent "que" d'accéder au calendrier partagé par défaut.

J'espère avoir été clair.

Merci d'avance !