Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Outlook > VBA Outlook

Réponse
 
Outils de la discussion
Vieux 22/05/2008, 16h50   #1 (permalink)
Nouveau membre du Club
 
Avatar de rstephane
 
Date d'inscription: avril 2003
Localisation: 44
Âge: 26
Messages: 56
Envoyer un message via MSN à rstephane
Par défaut Utilisation Carnet d'adresse partagé avec VBA

Bonjour,

Moi j'utilise Outlook 2003 et je souhaiterais utiliser les contacts partagés Outlook avec du VBA. J'ai bien trouvé comment utiliser un carnet d'adresse personnel (via MAPIFOlder) mais pas le carnet d'adresse partagé avec toute l'entreprise :-s

Savez-vous comment procéder?

Merci d'avance,

Stéphane
rstephane est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 23/05/2008, 09h48   #2 (permalink)
Membre éprouvé
 
Avatar de Oliv-
 
Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 493
Par défaut

Salut,
Lorsque tu va manuellement dans ce dossier il est où ? dans les "dossiers publics" ?
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 23/05/2008, 11h45   #3 (permalink)
Nouveau membre du Club
 
Avatar de rstephane
 
Date d'inscription: avril 2003
Localisation: 44
Âge: 26
Messages: 56
Envoyer un message via MSN à rstephane
Par défaut

Non, pour accéder manuellement à ces contacts je vais dans contact et je clique sur "Ouvrir les contacts partagés...".
rstephane est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 23/05/2008, 14h33   #4 (permalink)
Membre éprouvé
 
Avatar de Oliv-
 
Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 493
Par défaut

Donc lorsque tu cliques sur nom... tu obtiens "selectionner un nom"

dans "afficher les noms de " tu as quoi ?
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 23/05/2008, 16h59   #5 (permalink)
Nouveau membre du Club
 
Avatar de rstephane
 
Date d'inscription: avril 2003
Localisation: 44
Âge: 26
Messages: 56
Envoyer un message via MSN à rstephane
Par défaut

Oui, c'est ça, dans "Afficher les noms de :" j'ai "Liste d'adresses globale"
rstephane est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/05/2008, 17h22   #6 (permalink)
Membre éprouvé
 
Avatar de Oliv-
 
Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 493
Par défaut

Salut,
Essaye avec ceci :

Code :
Private Sub ListeElementsConteneur()
'exchange
strNomSite = "SITE"
strNomServeur = "SERVEUR"
Set rootDSE = GetObject("LDAP://" & strNomServeur & "/RootDSE")
contPath = "LDAP://" & strNomServeur & "/" & "CN=Recipients," & "OU=" & strNomSite & "," & rootDSE.get("defaultNamingContext")
Set cont = GetObject(contPath)
cont.Filter = Array("organizationalPerson")
strListeBal = ""
For Each bal In cont
   strListeBal = strListeBal & bal.Name & "-" & bal.Mail & vbCrLf
Next
strListeDl = ""
cont.Filter = Array("groupOfNames")
For Each dl In cont
   strListeDl = strListeDl & dl.Name & vbCrLf
Next
MsgBox "Boîtes aux lettres : " & vbCrLf & strListeBal
MsgBox "Listes de distribution" & vbCrLf & strListeDl
End Sub
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/05/2008, 11h22   #7 (permalink)
Nouveau membre du Club
 
Avatar de rstephane
 
Date d'inscription: avril 2003
Localisation: 44
Âge: 26
Messages: 56
Envoyer un message via MSN à rstephane
Par défaut

Bonjour Oliv,

Je pense qu'on se rapproche de la solution, mais non, ça ne marche pas :s
Là j'ai remplacé strNomServeur par mon serveur (Je ne sais pas quoi mettre dans strNomSite) mais le code plante en ligne 3 (Set rootDSE =...) ->
Code :
 
Erreur d'éxécution '-2147016646 (8007203a)':
 
Erreur Automation
Le serveur n'est pas opérationnel
 
rstephane est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/05/2008, 13h37   #8 (permalink)
Nouveau membre du Club
 
Avatar de rstephane
 
Date d'inscription: avril 2003
Localisation: 44
Âge: 26
Messages: 56
Envoyer un message via MSN à rstephane
Par défaut

En fait j'ai cherché dans cette voie et j'ai réussi à faire ce que je voulais :
Code :
 
monUser = "rstephane"
 
' Connexion
Set objDSE = GetObject("LDAP://rootDSE")
Set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"
 
sFilter = "(&(objectclass=user)(samaccountname=" & monUser & "))"
 
' champ(s) demandé(s)
' -------------------
champs = ";givenName,SN,distinguishedName,userPrincipalName,mail,description"
 
' Niveau de profondeur de recherche dans les OU
' ---------------------------------------------
profondeur = ";subtree"
 
' Construction de la requète
' --------------------------
Requete = "<LDAP://" & objDSE.Get("defaultNamingContext") & ">;" & sFilter & champs & profondeur
 
' execution de la requete
' -----------------------
Set oRecordSet = oConnection.Execute(Requete)
 
nbRecord = oRecordSet.RecordCount
If nbRecord = 0 Then
    MsgBox "Planté !!! Utilisateur " & monUser & " non trouvé"
    oConnection.Close
Else
    MsgBox "Nombre d'enregistrement = " & nbRecord
End If
 
prenom = oRecordSet.Fields("givenName").Value
nom = oRecordSet.Fields("SN").Value
UserDName = oRecordSet.Fields("distinguishedName").Value
UserPName = oRecordSet.Fields("userPrincipalName").Value
Email = oRecordSet.Fields("mail").Value
Description = oRecordSet.Fields("Description").Value
 
' extraction nom OU la plus basse
partie = Split(UserDName, ",")
OU = Right(partie(1), Len(partie(1)) - 3)
 
' Affichage des infos recuperees
' ------------------------------
MsgBox "prenom: " & prenom
MsgBox "nom: " & nom
MsgBox "login: " & login
MsgBox "Email: " & Email
MsgBox "OU: " & OU
 
oConnection.Close
 
Merci beaucoup pour ton aide Oliv
rstephane est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBAACCESS

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Outlook > VBA Outlook



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide