Bonjour à tous,

Je souhaite accéder à mes contacts Outlook, j'en ai 339 mais j'ai un plantage systématique sur le 243ème, je suis quasi sur qu'il s'agit d'un contact de type Groupe, mais je n'arrive pas à résoudre le souci, en gros à savoir si l'item est de type contact ou groupe, afin de gérer l'exception...

Merci d'avance de votre aide, voici le code de mon projet (c'est un brouillon pour le moment )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 
 
Sub Outlook_Lecture()
 
 
    Dim TableauNumero(13) As String
    Dim LigneItem As ListViewItem
    Dim I As Integer
 
    ' Create Outlook application
    Dim oApp As Outlook.Application = New Outlook.Application()
 
    ' Get NameSpace and Logon.
    Dim oNS As Outlook.NameSpace = oApp.GetNamespace("mapi")
    oNS.Logon("Outlook", Missing.Value, False, True) ' TODO:
 
    ' Get the first contact from the Contacts folder.
    Dim cContacts As Outlook.MAPIFolder = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
    Dim oItems As Outlook.Items = cContacts.Items
 
    Dim oCt As Outlook.ContactItem
 
    Try
 
 
      oCt = oItems.GetFirst()
 
      TableauNumero(0) = oCt.FullName
 
      TableauNumero(1) = oCt.BusinessTelephoneNumber
      TableauNumero(2) = oCt.Business2TelephoneNumber
      TableauNumero(3) = oCt.CompanyMainTelephoneNumber
      TableauNumero(4) = oCt.HomeTelephoneNumber
      TableauNumero(5) = oCt.Home2TelephoneNumber
      TableauNumero(6) = oCt.MobileTelephoneNumber
      TableauNumero(7) = oCt.OtherTelephoneNumber
      TableauNumero(8) = oCt.PrimaryTelephoneNumber
      TableauNumero(9) = oCt.RadioTelephoneNumber
      TableauNumero(10) = oCt.TelexNumber
      TableauNumero(11) = oCt.TTYTDDTelephoneNumber
      TableauNumero(12) = oCt.CarTelephoneNumber
 
      LigneItem = New ListViewItem(TableauNumero)
      ListViewTelephone.Items.Add(LigneItem)
 
      'MsgBox(oItems.Count)
      For I = 1 To oItems.Count
 
        oCt = oItems.GetNext
 
 
        TableauNumero(0) = oCt.FullName
        TableauNumero(1) = oCt.BusinessTelephoneNumber
        TableauNumero(2) = oCt.Business2TelephoneNumber
        TableauNumero(3) = oCt.CompanyMainTelephoneNumber
        TableauNumero(4) = oCt.HomeTelephoneNumber
        TableauNumero(5) = oCt.Home2TelephoneNumber
        TableauNumero(6) = oCt.MobileTelephoneNumber
        TableauNumero(7) = oCt.OtherTelephoneNumber
        TableauNumero(8) = oCt.PrimaryTelephoneNumber
        TableauNumero(9) = oCt.RadioTelephoneNumber
        TableauNumero(10) = oCt.TelexNumber
        TableauNumero(11) = oCt.TTYTDDTelephoneNumber
        TableauNumero(12) = oCt.CarTelephoneNumber
 
        LigneItem = New ListViewItem(TableauNumero)
        ListViewTelephone.Items.Add(LigneItem)
        'oCt = oItems.GetNext
 
      Next I
      MsgBox(oItems.Count)
 
 
    Catch ex As Exception
      ' Show the exception's message.
      RichTextBox1.AppendText(ex.Message & vbCrLf)
 
      MsgBox(ex.Message)
      'RichTextBox1.Text = ex.Message
      'MsgBox("an error occurred")
 
    Finally
 
      For Each column As ColumnHeader In ListViewTelephone.Columns
        column.Width = -2
      Next
 
      ' Display
      'oCt.Display(True)
 
      ' Log off.
      oNS.Logoff()
 
      ' Clean up.
      oApp = Nothing
      oNS = Nothing
      oItems = Nothing
      oCt = Nothing
 
    End Try