Importer email client a partir d'outlook 2010

kyliann

XLDnaute Nouveau
Bonjour le forum,

Je viens a nouveau vers vous pour une petite aide concernant l'importation des adresse mail de clients.

j'ai bien trouvé un modele de BOISGONTIER qui recherche les mails a partir des noms prénoms.

Outlook est un service courrier d'une entreprise ( exchange) .

Le code que j'ai va bien rechercher les adresses mail mais uniquement dans les contacts personnels de mon compte.

Est il possible que la recherche se face dans la liste globale de l'entreprise et nom dans mes contacts ?

Le code dont je me suis servi !
Sub LectureContacts()
Set olApp = CreateObject("Outlook.Application")
Set olns = olApp.GetNamespace("MAPI")
Set olfFolder = olns.GetDefaultFolder(10)
ligne = 2
On Error Resume Next ' contacts incomplets
For Each i In olfFolder.Items
Cells(ligne, 1) = i.FirstName
Cells(ligne, 2) = i.LastName
Cells(ligne, 3) = i.Email1Address
Cells(ligne, 4) = i.Categories
ligne = ligne + 1
Next i
On Error GoTo 0
[A1].Sort Key1:=[A1], Header:=xlYes
End Sub

Sub AjoutContact()
Set olApp = CreateObject("Outlook.Application")
Set olItem = olApp.CreateItem(2)
With olItem
.FirstName = "zzzzz"
.LastName = "zzzzz"
.Email1Address = "zzzzz@hotmail.com"
.HomeAddressCity = "Montigny"
.Categories = "Professionnel, Personnel"
.Save
End With
End Sub

Je vous remercie d'avance pour votre aide

Kyliann
 

Staple1600

XLDnaute Barbatruc
Re : Importer email client a partir d'outlook 2010

Bonjour à tous

Est il possible que la recherche se face dans la liste globale de l'entreprise et nom dans mes contacts ?
Apparemment oui, mais le chemin semble ardu ;)
Essaies de voir ce que peut t'inspirer Ce lien n'existe plus
Ce script VBS est facilement transposable en VBA

Sinon pour autres infos voir Ce lien n'existe plus
 

kyliann

XLDnaute Nouveau
Re : Importer email client a partir d'outlook 2010

Bonjour Staple1600, david84, Le Forum

Je vous remercie tous les deux de votre réponse.

Staple1600, je vais regarder les deux liens que tu m'a proposé et essayer d'appliquer.......! ce qui ne vas pas etre evident car mon niveau VBA est vraiment bas....!!!Lol ! transformer VBS en VBA lol !!

pour le 2eme lien , j'avais trouvé ces solutions hier soir et pensais essayer egalement en me demandant si cela était possible

david84, je n'avait pas trouvé cette solution, merci a toi je vais également l'essayer !!!

il ne te les propose pas ?
hélas non il me sort des valeurs ( diverse) dans categorie mais sur la feuille, email reste vide pour ceux qui ne sont pas dans mes contacts

Je ne ferai mes essais que demain car je ne suis pas au bureau aujourd'hui et vous tiendrai informé.

Merci a tous les deux et je vous souhaite un bon dimanche

Kyliann
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Importer email client a partir d'outlook 2010

Bonjour kyliann, david84

On est d'accord, tu parles bien d'Exchange et tu veux, par VBA, récupérer les mails présents dans la Ce lien n'existe plus (ou Global Address List) ?

Donc d’après que je peux en lire sur le net, la chose (comme je le disais précédemment et sauf erreur de ma part) ne va pas de soi.
(sauf évidemment pour Ce lien n'existe plus ;))

Quand à adapter, le VBS en VBA, c'est plus simple que tu ne crois ;)

D'ailleurs j'essaierai d'adapter ce script au boulot lundi (Exchange oblige)
(En espérant que les gars de la DSI m'en laissent la possibilité ;), vu que le PC sur lequel je bosse est quelque peu bridé)
 

kyliann

XLDnaute Nouveau
Re : Importer email client a partir d'outlook 2010

Re Staple1600, Le forum

Merci de ta réponse.

Le principe, j'ai une BDD actuellement j'ai déja environs 800 clients ( interne de l'entreprise ) mais je n'ai pas leur email et rechercher un par un est trop long........!
Donc je souhaitais rechercher l'ensemble dans la liste Globale de exchange car actuellement la recherche ne se fait que dans ma liste de contact personnel ( outloock 2010).

Dans le futur pour rajouter un client, quand je rajouterai un client la recherche ne se ferai que sur un client)
EDIT:
Quand à adapter, le VBS en VBA, c'est plus simple que tu ne crois
Heuuuuu!!! oui tu as surement raison lol !

Pour le bridage , je sais ce que c'est....!! l'enfer pour rajouter des composantes diverses chez nous aussi !!!!
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : Importer email client a partir d'outlook 2010

Bonjour,
normalement tu dois avoir accès à la liste globale mais pour l'instant je ne vois pas quelle propriété te permet de récupérer l'adresse mail.
J'arrive cependant à récupérer le nom donc peut-être qu'en explorant plus avant l'objet AddressEntries (ou un autre) il y a moyen d'y arriver.
Ci-joint un test rapide pour récupérer les noms des personnes figurant dans cette liste globale :
Code:
'cocher Microsoft Outlook xx Object Library
Sub Liste_nom()
Dim olApp As Outlook.Application
Dim NSpace As Namespace
Dim AdList As Addresslist
Dim AdEntries As AddressEntries
Dim i As Long

  Set olApp = New Outlook.Application
  Set NSpace = olApp.GetNamespace("MAPI")
  Set AdList = NSpace.GetGlobalAddressList
  Set AdEntries = AdList.AddressEntries
  
  For i = 1 To 100 'ou AdEntries.Count mais ca risque d'être long s'il y en a beaucoup
    Debug.Print AdEntries.Item(i).Name
  Next i
End Sub
A+
 

david84

XLDnaute Barbatruc
Re : Importer email client a partir d'outlook 2010

Re
pour récupérer les adresses mail de la liste d'adresses globale :
Code:
'cocher Microsoft Outlook xx Object Library
 Sub Liste_nom()
 Dim olApp As Outlook.Application
 Dim NSpace As Namespace
 Dim AdList As Addresslist
 Dim AdEntries As AddressEntries
 Dim i As Long
 
  Set olApp = New Outlook.Application
   Set NSpace = olApp.GetNamespace("MAPI")
   Set AdList = NSpace.GetGlobalAddressList
   Set AdEntries = AdList.AddressEntries
   
  For i = 1 To 100 'ou AdEntries.Count mais ca risque d'être long s'il y en a beaucoup
     Debug.Print AdEntries.Item(i).GetExchangeUser.PrimarySmtpAddress
   Next i
 End Sub
 

kyliann

XLDnaute Nouveau
Re : Importer email client a partir d'outlook 2010

Bonjour David84, le forum

Je te remercie de ton aide.

Mais comme je le disais au début je suis vraiment novice en VBA je ne comprend pas ou mettre cette macro !

Pour info, j'ai déja la liste des noms/prénoms et je souhaite recuperer les emails dans la liste global ( environ 850 en une seule fois.)

ensuite , je me servirai de cette fonction mais uniquement pour un nouveau client.

Merci encore de ton aide

Bonne journée
Kyliann

Je te remercie
 

david84

XLDnaute Barbatruc
Re : Importer email client a partir d'outlook 2010

Mais comme je le disais au début je suis vraiment novice en VBA je ne comprend pas ou mettre cette macro !
je ne comprends pas bien : tu postes une macro de JB dans ton 1er message donc je croyais que tu étais un minimum familiarisé avec le VBA. Si ce n'est pas le cas ça va être coton...donc :
- ouvrir le projet VBA (ALT+F11)
- insérer un module (insertion>module)
- coller le code fourni
- si tu n'as que 850 adresses tu peux remplacer
Code:
For i = 1 To 100
par
Code:
For i = 1 To AdEntries.Count
- Outils>Références>cocher cocher Microsoft Outlook xx Object Library (si tu testes sous 2010 c'est la version 14.0)
- ouvrir la fenêtre d'exécution (Ctrl+G)
- lancer la macro

Si tout est bon les adresses mails s'inscrivent dans la fenêtre d'exécution.

Si tu veux les noms en plus des adresses mail c'est la partie indiquée dans le 1er code
Code:
Debug.Print AdEntries.Item(i).Name
Donc si tu veux les 2 :
Code:
Debug.Print AdEntries.Item(i).Name & " " & AdEntries.Item(i).GetExchangeUser.PrimarySmtpAddress
Je ne peux tester cet après-midi car le compte Outlook où je suis ne dispose pas d'Exchange mais je l'ai testé ce matin et cela me ramenait les noms et adresses mail.
A+
 

kyliann

XLDnaute Nouveau
Re : Importer email client a partir d'outlook 2010

Re , David84, Le forum

Je me suis mal exprimé, pas tres experimenté c'est vrai

Mais j'avais pas saisi le fait qu'il fallait juste creer un nouveau module.

Je te remercie

Je vais essayer cela de suite.

Merci a toi

Kyliann
 

david84

XLDnaute Barbatruc
Re : Importer email client a partir d'outlook 2010

Re David84,

J'ai une erreur de compilation : Type defini par l'utilisateur non défini
cela bloque a ce niveau.

J'ai du zapper un truc mais je ne trouve pas

Bon fin de journée

As-tu coché la référence Microsoft Outlook dans le projet VBA comme indiqué dans mon dernier message
- Outils>Références>cocher cocher Microsoft Outlook xx Object Library (si tu testes sous 2010 c'est la version 14.0)
A+
 

kyliann

XLDnaute Nouveau
Re : Importer email client a partir d'outlook 2010

Bonsoir david84,Staple1600, le forum


Oui Oui il n'y a pas de soucis c’était d’ailleurs déjà coché et je suis bien en 2010.

mais je ne peux essayer d'autre solution avant demain car je n'ai pas le réseau de mon entreprise ( ou tout au moins, pas encore mon compte d'accès de chez moi)

Je remercie de ton aide

je te souhaite une Bonne soirée
 

Staple1600

XLDnaute Barbatruc
Re : Importer email client a partir d'outlook 2010

Bonsoir à tous

david84
J'ai testé ton code au boulot
(XP-XL 2010) j'ai un message d'erreur Exécution 91 Variable non défini
L'export commence à bien se faire et le message apparait au bout d'une trentaine d'adresses
l'erreur survient dans les deux cas
Code:
For i = 1 To 100 'ou AdEntries.Count
J'ai aussi essayé avec
Code:
ActiveSheet.Cells(i,1)= AdEntries.Item(i).GetExchangeUser.PrimarySmtpAddress
Je suppose que cela vient peut-être de la configuration d'Exchange à mon boulot, non ?

PS: J'ai bien coché la référence avant de tester.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 297
Membres
111 093
dernier inscrit
Yvounet