[VBA/LDAP] cmt utiliser requête LDAP ds vba

Fermé
foudelaDS - 3 juin 2009 à 15:39
 foudelaDS - 8 juin 2009 à 13:46
Bonjour à tous,

Google ne veut pas être mon ami pour cette fois alors je demande de l'aide au connaisseurs.

Je dois trouver dans un annuaire LDAP la/les personne(s) correspondant à ma recherche (le nom ou/et le prenom) sans avoir à parcourir un à un les feuilles de tous cet annuaire.

Non seulement je sais pas quel requête ce serait, mais en plus je ne sais pas comment mettre ça dans mon code VBA pour Excel que je file en dessous.

Je parle de "requête", mais si ya un filtre qui fait ce que je demande...

Merci pour l'aide que vous me fournirer.

Le code (celui-ci affichait sur une feuille excel les objets qu'il a dans la branche demandé):

Public Const BasePath = "LDAP://xxx.xx.xx.xxx:xxx/O=YYY"
' Public Const ICI = "/ou=YYYYYY/ou=YYYYYY"

Dim chemin As String
Dim ligne As Integer
'

Public Sub TestLDAP()
EffaceLignes
chemin = BasePath ' & ICI
ligne = 2
Set objOU = GetObject(chemin)
Cells(ligne, 1) = objOU.OU
Cells(ligne, 2) = objOU.Description
Cells(ligne, 3) = Path
For Each obj In objOU
irow = irow + 1
Cells(ligne, 2) = obj.Name
Cells(ligne, 3) = obj.FullName
Next obj
End Sub

Sub EffaceLignes()
Rows("3:5000").Select
Selection.Delete Shift:=xlUp
Range("A4").Select
End Sub

9 réponses

Voilà la syntaxe qu'il faut (j'ai eu énormément de mal à m'en sortir, j'espère en aider des prochains) :

https://www.developpez.net/forums/d552686/logiciels/microsoft-office/excel/macros-vba-excel/recuperer-groupe-d-utilisateur-requete-ldap/

Il faut modifier le code à vos besoins (affichage, attributs, filtre, chemin,...) puis régler les erreurs pouvant arrivé (ce que je fais à l'heure où je poste ceci)

A+
1
même ici personne ne peut m'aider ???
0
^ Up ^

Il n'y a pas d'expert en VBA ou en LDAP ?

Je suis complètement bloqué avec ça.

Merci pour votre aide précieuse!
0
NicoDisso Messages postés 230 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 32
4 juin 2009 à 09:43
est ce que tu es sur de ta chaine de connection ?

parce que moi ce serait plus de ce style la :
Provider=ADsDSOObject;Encrypt Password=False;Integrated Security=SSPI;Data Source="SOURCE";Location="SERVEUR";Mode=Read;Bind Flags=0;ADSI Flag=-2147483648
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ah merci NicoDisso de regarder!

Oui pour la chaîne de connection, elle marche, je l'utilisais pour rechercher les cn=* (ce code est celui qu'on m'a fourni de base pour me montrer comment ça marche).

Le problème, c'est que je parcourais toute l'arborescence de l'annuaire 1 à 1 chaque objet pour chercher les personnes, et c'était long. Maintenant il me faudrait une requête qui me trouve tous les objets dont le nom (sn) est celui que je cherche. c'est un exemple.

j'ai trouvé ceci mais c'est inutilisable, je pense que c'est à cause d'une référence manquante.

https://codes-sources.commentcamarche.net/

Je sais pas si ce code est valable.

et en cherchant pour la référence manquante, ce serait System.DirectoryServices.dll mais je ne le trouve pas.

Est-ce ceci?
0
NicoDisso Messages postés 230 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 32
4 juin 2009 à 10:56
Le code que tu as trouve doit marche sous .net donc c'est pour ca...
0
ah... ok.

je trouve pas du tout et mon tuteur me dit que c'est possible mais je le verrai que la semaine prochaine, et là je dois utiliser absolument un truc pour faire ça car j'peux pas avancer sans. j'suis mal, deux jours à me tourner les pouces, ça va être long.

Merci NicoDisso pour ton aide.

Si quelqu'un connaît par coeur ses requêtes LDAP et sais les mettre dans du code VBA...
0
Bon, j'avais trouvé au départ ce lien sur les notions de base des requête LDAP. Je pense que c'est les bonnes requête (à moins que quelqu'un me dise le contraire, celà remettrai tout en cause ^^!).

Bon juste avec ces requêtes là, comment les mettre dans mon code VBA pour retrouver les personnes qui ont comme prénom John (<-- l'exemple du site) ?
0
Oups j'ai été trop vite!

voilà le lien dont je parlais : https://docs.microsoft.com/en-us/
0
Bonjour.

Y-a-t-il un connaisseur ce matin ici pour m'aider?

Merci, bonne journée à tous
0