IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Mise à jour des rendez-vous entre Access et Outlook
Un tutoriel de Denis Hulo

Le , par User

0PARTAGES

5  0 
Bonjour à tous,

Je vous propose un nouvel article sur l'interaction entre Access et Outlook avec cette fois la synchronisation des rendez-vous entre Access et Outlook :

Synchronisation des rendez-vous entre Access et Outlook

L'objectif étant de partir d'un exemple simple, avec un formulaire Access comportant une liste de rendez-vous, classés par date et heure, avec la possibilité de filtrer ces rendez-vous suivant une certaine période.

A partir de ce formulaire je peux importer ou exporter les rendez-vous en fonction de la période et du calendrier choisis.

Procédures de mise à jour :

Importations des rendez-vous Outlook dans Access.
Exportations des rendez-vous Access dans Outlook.
Suppression d'un rendez-vous dans Access ou Outlook.


Bonne lecture,
Cordialement,

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Oliv-
Expert éminent https://www.developpez.com
Le 17/11/2018 à 16:32
Bonjour et Félicitations c'est un beau travail.

J'ai juste quelques remarques à faire

L'utilisation du entryID et StoreId fait que la vérification de l'existence du rdv côté Outlook ne fonctionne que si c'est le même compte, donc attention à celui qui voudrait utiliser cela avec plusieurs Utilisateurs.

Avec plusieurs comptes (pour le même utilisateur donc) dans le code ce serait mieux d'utiliser GetitemFromID avec le EntryIDStore (expression.GetItemFromID(EntryIDItem, EntryIDStore))

Pour le parcours des rdv coté Outlook il serait plus rapide d'utiliser une table

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Sub Test_GetTable_appointments()
    Dim oFolder As Outlook.Folder
    Dim criteria
    Dim oTable As Table
    Dim i, oRow, R, arr
    Set oFolder = Application.Session.GetDefaultFolder(olFolderCalendar)
    criteria = "[MessageClass] = 'IPM.Appointment'"

    Dim DateToCheck As Date
    DateToCheck = Date
    'On cherche entre la date -1mois et demain
    FILTRE = " and [Start] >= '" & Format(DateAdd("M", -1, DateToCheck), "ddddd") & " 0:00 AM' "
    FILTRE = FILTRE & " and [Start] <= '" & Format(DateAdd("d", 1, DateToCheck), "ddddd") & " 0:00 AM' "

    Set oTable = oFolder.GetTable(criteria & FILTRE, olUserItems)
    With oTable.Columns
        'par defaut
        '1 EntryID
        '2 Subject
        '3 CreationTime
        '4 LastModificationTime
        '5 MessageClass
        '6 Start
        '7 End
        '8 IsRecurring
        .add ("Location")
        .add ("Categories")
        .add ("BillingInformation")
        .add ("ReminderSet")
        .add ("http://schemas.microsoft.com/mapi/proptag/0x1000001F")    'body
    End With
    oTable.sort "Start", True

    MsgBox oTable.GetRowCount, , "Nombre de rdv trouvés (filtre)"
    Do Until (oTable.EndOfTable)
        Set oRow = oTable.GetNextRow()
        If Year(oRow("Start")) <= 2018 Then
            MsgBox oRow("Subject") & vbCr & _
                   oRow("Start") & vbTab & "-->" & oRow("End") & vbCr & _
                   "Categories =" & oRow("Categories") & vbCr & _
                   "BillingInformation=" & oRow("BillingInformation") & vbCr & _
                   "ReminderSet=" & oRow("ReminderSet") & vbCr & _
                   "Body=" & oRow("http://schemas.microsoft.com/mapi/proptag/0x1000001F")
        End If
    Loop

End Sub
Tu peux avec .GetArray convertir cette Table en Array.

Encore bravo
0  0 
Avatar de User
Rédacteur/Modérateur https://www.developpez.com
Le 17/11/2018 à 17:28
Merci bien !

C'est vrai qu'il y a une beaucoup de possibilités pour extraire ces rendez-vous, j'ai essayé de faire au plus simple, mais merci pour tes remarques fort utiles.

Je rajouterais que la manière de filtrer les dates sous Outlook n'est pas très simple pour les accessiens, je me souviens avoir eu des soucis pour récupérer les rendez-vous selon une certaine période avec restrict.

Cdlt,
0  0 
Avatar de Nancy3608
Nouveau Candidat au Club https://www.developpez.com
Le 28/11/2021 à 22:08
Bonjour, Y-a-t-il une façon d'avoir accès à plusieurs calendriers ? Ou dû moins les calendriers que l'utilisateur à accès en mode partager

Merci d'avance
0  0 
Avatar de User
Rédacteur/Modérateur https://www.developpez.com
Le 30/11/2021 à 17:50
Bonjour,

S'il s'agit de calendriers partagés avec plusieurs comptes de messagerie, alors il faut ajouter une colonne comptemessagerie dans les tables des calendriers et des rendezvous, et faire le lien entre les 2 tables sur les colonnes (idcalendrier,comptemessagerie). Il faut également modifier le code derrière.

Cdlt,
0  0