Erreur 80020009 propriété "start" inconnue

Bonjour,

J'ai un document excel qui va récupérer par extraction les rendez-vous sur outlook. Ce code fonctionne sur mon ordinateur mais lorsque un collaborateur essaie de l'utiliser il a l'erreur suivante.

Je ne sais pas comment se fait-il que son excel ne reconnaît pas la propriété start alors que nous avons la même version. Peut-être est-ce un problème d'administrateur ou de confidentialité de macros ?

    Dim olApp As Object
    Dim olNS As Object
    Dim olFolder As Object
    Dim olApt As Object
    Dim oAppointments As Object
    Dim ws As Worksheet

    Dim folderItems As Outlook.Items
    Dim sharedMailboxEmails As Variant
    Dim SharedMailboxEmail As Variant
    Dim outSharedName As Object

    'changer les adresses mails pour choisir celles des calendriers partagés'
    sharedMailboxEmails = Array("collaborateur@outlook.com")

    Dim NextRow As Long

    Dim FromDate As Date
    Dim ToDate As Date

    Dim pos As Integer

    'permet à l'utilisateur de rentrer la date de départ en mettant une boîte de saisie"

    FromDate = InputBox("Entrer la date de départ (01/01/yyyy)", "Date de départ")
    If Not IsDate(FromDate) Then
       MsgBox "Date de saisie invalide. Essayer à nouveau.", vbExclamation
       Exit Sub
    End If

    'permet à l'utilisateur de rentrer la date de fin en mettant une boîte de saisie"
    ToDate = InputBox("Entrer la date d'aujourd'hui(dd/mm/yyyy)", "Date de fin")
    If Not IsDate(FromDate) Then
       MsgBox "Date de saisie invalide. Essayer à nouveau.", vbExclamation
       Exit Sub
    End If

    On Error Resume Next

    Set olApp = GetObject(, "Outlook.Application")
    If Err.Number > 0 Then Set olApp = CreateObject("Outlook.Application")

    On Error GoTo 0

    Set olNS = olApp.GetNamespace("MAPI")

    'créer une boucle qui prend les rendez-vous de chaque calendrier'

    For Each SharedMailboxEmail In sharedMailboxEmails
    Set outSharedName = olNS.CreateRecipient(SharedMailboxEmail)
    Set olFolder = olNS.GetSharedDefaultFolder(outSharedName, 9)

    NextRow = 2

    Set folderItems = olFolder.Items

    With folderItems

        .Sort "[Start]"
        .IncludeRecurrences = True
    End With

    With Sheets("RDV")

        .Range("A1:D1").Value = Array("Objet", "Date", "Durée", "Emplacement")

        Set olApt = folderItems.Find("[Start] >= """ & FromDate & """ and [Start] <= """ & ToDate & """")
        Set ws = ThisWorkbook.Worksheets("RDV")

        While TypeName(olApt) <> "Nothing"

            .Cells(NextRow, "A").Value = olApt.Subject
            .Cells(NextRow, "B").Value = CDate(olApt.Start)
            .Cells(NextRow, "B").NumberFormat = "ddd yyyy/mm/dd hh:mm"

            .Cells(NextRow, "C").Value = olApt.End - olApt.Start
            .Cells(NextRow, "C").NumberFormat = "HH:MM:SS"

            .Cells(NextRow, "D").Value = olApt.Location

            NextRow = NextRow + 1

            Set olApt = folderItems.FindNext
        Wend

    End With

Merci de votre aide par avance.

Bonjour carla3111

Pour moi je pense simplement que vous n'avez pas les mêmes colonnes affichées

A vérifier et nous dire

A+

Merci pour votre réponse, vous parlez des colonnes sur le fichier excel ?

Normalement elles sont identiques car c'est le même fichier. J'ai juste modifié l'adresse email dans le code pour que ça ouvre leur calendrier et non plus le mien.

    sharedMailboxEmails = Array("collaborateur@outlook.com")

 

Auparavant, array il y avait mon adresse et la leur et j'arrivais à extraire les données.

Lorsque j'enlève mon adresse mail j'arrive toujours à extraire les données de mon collaborateur mais dès lors qu'il le fait depuis son ordinateur ça ne fonctionne plus. C'est embêtant car je ne suis que de passage (stagiaire) et mon adresse mail va être supprimé à ma sortie et j'aimerais que le document fonctionne depuis d'autres ordinateurs.
Dites moi si ce n'est pas clair.

Merci encore

Re,

Non je parle des colonnes sur Outlook, vous faites appel ici

CDate(olApt.Start)

Je vois aussi ceci

Dim folderItems As Outlook.Items

Cela veut dire que vous avez forcément la référence Outlook de cochée => à décocher

Et remplacé la ligne par

Dim folderItems As Object

A+

Pourtant, ils ont la référence Microsoft Outlook 16.0 object library de coché aussi. Si je remplace outlook.items par object cela signifie-t-il que je ne passe plus par la référence outlook ? Cela a-t-il à voir avec la différence entre early and late binding.
Je suis un peu perdue

Merci pour votre patience

Carla3111

Si vous cochez une référence vous êtes en "early binding" mais dans ce cas, il faut tout coder pour

Si vous décochez la référence, vous êtes en "late binding" et même chose pour le codage

L'avantage du "late binding" est la compatibilité entre les différentes versions, selon les PC
pas forcément utile lorsqu'on est en entreprise ou le parce matériel et les logiciels sont en général homogènes

J'espère que cela sera plus clair pour vous

Oui, merci. Hormis les références à cocher pour être en early binding qu'est ce qui pourrait empêcher mon code de fonctionner si leurs références sont cochées ? Je pensais avoir tout coder en early binding mais il faut croire que non. Pourriez-vous m'aider à modifier les lignes manquantes ?

Merci beaucoup,

bonne journée

Quelqu'un peut m'aider ? merci

Bonjour,

Petite question, vous ne dites pas bonjour à vos collègues tous les jours

Merci de lire la charte du forum [A LIRE AVANT DE POSTER] et notamment

  • Un minimum de politesse est de rigueur (bonjour, SVP, merci, ...), sans cela vous aurez peu de chance d'obtenir une réponse et vous risquez de voir votre message supprimé par un modérateur.

A+

Bonsoir, j'aurais besoin d'aide sur cette problématique que je dois résoudre avant la fin de la semaine. Le stress m'en a fait perdre ma politesse. Je m'en excuse.

Merci d'avance pour votre aide.

Bonjour carla3111

Vous êtes sur un forum ou nous sommes tous bénévoles, il ne doit donc y avoir aucun impératif de temps !

Ceci dit, vous devriez changer votre fusil d'épaule et coder en "early binding"
Vous pourriez ainsi voir, si les propriétés tel que "start" est applicable à l'objet ou non

Supprimez également les "On Error Resume Next" qui vous empêche de voir ou se situe véritablement l'erreur

A+

Rechercher des sujets similaires à "erreur 80020009 propriete start inconnue"