Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Outlook extraction from Excel des contacts de tous les groupes de contact d'outlook

dmc27

XLDnaute Nouveau
Bonsoir à tous les forumeurs
Outlook (et d'autres sans doute) permettent de créer, pour chaque boîte e-mail, des "sous-groupes" de contacts sans duplication de la fiche contact, celle-ci reste dans le groupe principal généralement appelé "contacts". C'est pratique, puisque l'on ne corrige une fiche qu'une fois. Néanmoins, je n'ai pas trouvé le moyen de savoir pour chaque contact dans quels sous-groupes on pouvait le retrouver.
Je cherche à extraire les contacts de plusieurs boites e-mail dans outlook vers Excel, en affectant une feuille Excel pour chaque sous-groupe rencontré.
Mon objectif est de développer une application VBA qui réalisera l'extraction des contacts de plusieurs boites e-mail dans outlook vers Excel, en affectant une feuille Excel pour chaque sous-groupe rencontré. Puis une deuxième partie du projet ( formules ou VBA?) consistera à exploiter chacune de ces feuilles ( nommées du nom de chaque sous-groupes qu'elles contiendront) pour alimenter dans une feuille principale un tableau similaire à celui ci-après, dans lequel famille, collègue, client, fournisseur, footballeur sont les sous-groupes de contacts :
contacts monmail@moi.frsous-groupes
famillecollègueclientfournisseur
footballeur
Dupont Henrixx
Durand Antoinexx
Bruel Patrickxx
Souchon Alainx
Voulzy Laurentxxx

Bien sûr j'ai trouvé des codes sur excel-downloads, pour importer les contacts de Outlook vers Excel, même de MichelXLD himself, mais sans succès car :
- mes contacts ne sont pas que dans la première adresse e-mail, qui en l'occurrence n'en contient qu'un, et les codes essayés ne trouvent que cette première boite de contacts;
- dans le code de FAQ-Excel, bien que j'aie activé la référence Microsoft Outlook 16.0 Object Library, comme demandé, j'ai un plantage sur la ligne suivante :
Cells(j, i + 1) = dossierContacts.Items(1).ItemProperties.Item(i).Name
le message d'erreur indique :
"erreur d'exécution '-2147352560 (80020010)"
"erreur automation"
"appel incorrect"
J'ai cherché sans succès une explication sur internet. je place ci-dessous le code "piraté" à FAQ-Excel:

VB:
Sub ExtraireContactsOutlook()
    'Nécessite d'activer la référence "Microsoft Outlook xx.x Object Library"

    '
    'Créé avec Office 2007
    '

    Dim olApp As Outlook.Application
    Dim dossierContacts As Outlook.MAPIFolder
    Dim Contact As Outlook.ContactItem
    Dim i As Integer, j As Integer

    Set olApp = New Outlook.Application
    Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)

    'Verifie si le dossier des contacts contient des éléments
    If dossierContacts.Items.Count = 0 Then Exit Sub

    'Création d'un entête dans la 1ere ligne
    j = 1
    For i = 0 To dossierContacts.Items(1).ItemProperties.Count - 1
        Cells(j, i + 1) = dossierContacts.Items(1).ItemProperties.Item(i).Name
    Next i

    On Error Resume Next

    'Boucle sur les éléments pour récupérer les infos
    For Each Contact In dossierContacts.Items
        j = j + 1
        For i = 0 To Contact.ItemProperties.Count - 1
            Cells(j, i + 1) = Contact.ItemProperties.Item(i).Value
        Next i
    Next Contact

    Columns.AutoFit
    MsgBox "Opération terminée."
End Sub
Merci de m'avoir lu jusque-là ! j'ai tenté de mettre le paquet pour être clair !
Bien entendu, j'attends vos réponses - nombreuses et salvatrices, j'en suis sûr - avec la plus grande impatience. Parce que là, je suis bloqué! Carrément!
Cordialement - David
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…