IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Comment avoir la taille d'un tableau ?


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut Comment avoir la taille d'un tableau ?
    Bonjour,

    voilà deux jour que je cherche à connaitre la taille d'un tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arrMemberOf = objConteneur.member
    qui liste des membres, je ne détaille pas le reste du code.

    j'ai essayé avec arrMemberOf.Length-1 mais j'ai le msg d'erreur "Objet requis". avec Ubound j'ai certaine bonnes valeurs mais d'autres ne sont pas prises en compte ce qui fait que mon résultat n'est pas complet

    Qqun pourrait-il m'aider? sachant que je suis novice

    Merci

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,
    es-tu bien sûr que la propriété member renvoie bien un tableau et non un objet collection ?
    si c'est une collection:
    si c'est un tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UBound(arrMemberOf,1) - LBound(arrMemberOf,1)
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut
    slt

    il s'agit bien d'un tableau.

    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ubound(arrMemberOf) - Lbound(arrMemberOf) + 1
    ca a l'air de donner les bons résultats

    Est ce la meme chose que?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UBound(arrMemberOf,1) - LBound(arrMemberOf,1)

  4. #4
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    Est ce la meme chose que?:
    non

    la fonction UBound accepte un paramètre facultatif qui précise l'indice de la dimension cherchée
    donc la forme UBound(myarray) est + simple si myrray n'a qu'une dimension

    on pourrait faire encore + simple en supprimant LBound qui renvoie toujours 0 lorsque la variable tableau
    a été créée par vbs mais dans ton cas s'il s'agit d'un tableau renvoyé par un objet COM il est plus prudent de le conserver
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  5. #5
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut
    Ok ben ca me donne pas les bons résultats

    pour les groupes ayant un seul utilisateur, il me renvoie une valeur fausse, des fois il reprend la valeur précédente, des fois aucune valeur.

    En fait j'ai fait ce script pour repérer les groupes vides, les groupes à très peu d'utilisateurs, et les groupes avec trop d'utilisateurs pr faire le ménage ds l'AD.
    Le résultat est qu'il repère bien les groupes vides, les groupes à un utilisateur n'ont pas le bon résultat comme je l'ai dit plus haut, par exemple plusieurs groupes dont le résultat m'indique qu'ils sont vides

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    strOU = inputbox("Entrez l'OU: ", "Renseignement")
    Set objConnexion = GetObject ("LDAP://OU=" & strOU & ",OU=***,DC=***,DC=***,DC=***")
     
     
    If Err.Number <> 0 then
    	MsgBox "Erreur: cette OU n' existe pas"
    Else
    	Set objFSO = CreateObject ("Scripting.FileSystemObject")
    	Set objFile = objFSO.CreateTextFile("c:\" & strOU &"_OU.csv")
    	'Wscript.Echo "[ Debug ]: Local Groups"
     
    	For each objConteneur in objConnexion
    		arrMemberOf = objConteneur.member
    		strGroupName = (Right(objConteneur.Name,Len(objConteneur.Name)-3))
    		arrLength = Ubound(arrMemberOf,1) - Lbound(arrMemberOf,1) + 1
    		Wscript.Echo "[ Debug ]: " & objConteneur.Name
    		wscript.echo "[ Debug ]: " & arrLength
     
    		If IsEmpty(arrMemberOf) Then
    			'Wscript.Echo "[ Debug ]: " & objConteneur.Name
    			objFile.WriteLine strGroupName & " ; "
    		Else
    			'Wscript.Echo " [Debug] " & strGroupName
    			objFile.WriteLine " " & strGroupName & " ; " & arrLength
    		End if
    	Next
    	Wscript.Echo "Creation du fichier reussie: c:\" & strOU &"_OU.csv" 
    End if

  6. #6
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut
    je pense avoir une piste. j'ai fais mes tests sur des groupes locaux, certains englobent un ou plusieurs groupes globaux, et ca il me le compte pas ou il me donne une valeur correspondante à la précédente trouvée.

Discussions similaires

  1. Réponses: 13
    Dernier message: 07/05/2006, 11h54
  2. comment augmenter la taille d'un tableau ?
    Par salseropom dans le forum C
    Réponses: 5
    Dernier message: 16/12/2005, 12h47
  3. Comment récupérer la taille d'un tableau dynamique ?
    Par Tchaill39 dans le forum Langage
    Réponses: 4
    Dernier message: 08/12/2005, 14h21
  4. [Tableaux] Comment connaitre la taille d'un tableau?
    Par Polaire76 dans le forum Langage
    Réponses: 2
    Dernier message: 21/11/2005, 17h34
  5. [Tableau]comment connaitre la taille d'un tableau à 2 dimensions
    Par Kyti dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 22/04/2005, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo