LDAP/VBA : Tableau trop petit ! :(

Cybertat Messages postés 25 Date d'inscription vendredi 15 juillet 2005 Statut Membre Dernière intervention 8 septembre 2007 - 21 mars 2006 à 15:38
Cybertat Messages postés 25 Date d'inscription vendredi 15 juillet 2005 Statut Membre Dernière intervention 8 septembre 2007 - 22 mars 2006 à 09:51
Bonjour à tous,

J'ai trouver sur le site de Microsoft une requete qui permet de récupérer la liste des membres d'un groupe AD mais le problème, c'est que pour certains groupe la liste comporte plus de membres que mon tableau de ligne...

Connaissez-vous un moyen de dépasser cette limite ?

Voici le script :

Sub NbUtilSMTP()
Dim Alphabet%, Lettre$, Ligne%
Lettre$ = "_Divers"
Alphabet% = 64
Ligne% = 2

Do While Alphabet% <> "91"
'Choix de l'OU de départ
Set objGroup = GetObject("LDAP://cn=Lettre " & Lettre$ & ",ou=groupes,dc=domain")
objGroup.GetInfo
arrmemberof = objGroup.GetEx("member")
Alphabet% = Alphabet% + 1
Lettre$ = " " & Chr(Alphabet%)
Range("C" & Ligne%).Value = UBound(arrmemberof) + 1
Ligne% = Ligne% + 1
Loop
End Sub

Merci par avance.

2 réponses

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
21 mars 2006 à 17:51
Salut Cybertat,

Les
<OBJECT id= alink_4 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 type=application/x-oleobject></OBJECT>[javascript:alink_4.Click() variables de type Integer] sont stockées sous la forme de nombres de 16 bits (2 octets) dont la valeur est comprise entre -32 768 et 32 767. Le
<OBJECT id=alink_5 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 type=application/x-oleobject></OBJECT> [javascript:alink_5.Click() caractère de déclaration de type] Integer est le signe %.


Les
<OBJECT id =alink_4 classid= clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 type=application/x-oleobject></OBJECT> [javascript:alink_4.Click() variables de type Long] (entier long) sont stockées sous la forme de nombres signés de 32 bits (4 octets) dont la valeur est comprise entre -2 147 483 648 et 2 147 483 647. Le
<OBJECT id=alink_5 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 type=application/x-oleobject></OBJECT>[javascript:alink_5.Click() caractère de déclaration de type] Long est le signe &.

Donc, Ligne% devient Ligne& (vous êtes quand même vachement nombreux),

maintenant, c'est dans les années 70 qu'on déclarait les types de données des variables comme ça. Aujourd'hui, on écrit :

Dim Ligne As Long. 'c'est vachement plus lisible pour tout le monde, et comme en plus, tu répètes le signe à chaque utilisation de la variable, tu grossis la taille de ton code (ça a l'air bête comme remarque, mais j'aime bien avoir l'air bête) :)

Voilà pour la variable d'indice, maintenant, pour Excel (si c'est une Range d'Excel), mets-les en ligne en attendant mieux (apparemment limite nb colonnes = 256, alors que limite nb lignes ~= 65536), mieux ce serait de faire des regroupements et de les étaler sur différentes feuilles.
(si c'est une range d'rover, je ne peux rien pour toi) :)

ravi de t'aider, si je t'aide,
à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
Cybertat Messages postés 25 Date d'inscription vendredi 15 juillet 2005 Statut Membre Dernière intervention 8 septembre 2007
22 mars 2006 à 09:51
Merci pour ces précisions mais étant donnée le cas de figure dans lequel je suis :
- la taille des caractères ascii pour mes variables "alphabet" et "ligne" ne dépasse pas les 500 donc un Integer suffit amplement...
- mon problème concerne la "capacité d'accueil" du tableau "arrmemberof" qui est limité à 1500. Mes requetes acutelles vont jusqu'a 2500 environs et celle que je voudrais faire par la suite devrait aller jusqu'a 30 000 !

Effectivement, "coller" le résultat dans une feuille Excel pourrait être pratique mais ... comment fait-on ?
0
Rejoignez-nous