fonction qui écrit dans des cellules
Bonjour,
je voudrais écrire une fonction qui écrit dans un range de cellules les groupes auxquels appartient un utilisateur de l'AD et je voudrais en même temps que cette fonction me retourne le nombre de groupes trouvés.
Code:
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 29 30 31 32 33 34 35 36 37 38 39 40
|
Function dgnLdapUserGroups(sDomain1 As String, sDomain2 As String, sLogin, sRangeDestName As String) As String
Dim sQuery, objUser, Group
Dim sResult, arrMemberOf ', intPrimaryGroupID
Dim nOffset
DoEvents
On Error GoTo Handle_Error
' recupere l'adspath du user
sQuery = dgnLdapQueryLogin(sDomain1, sDomain2, sLogin, "adspath")
If sQuery = "" Then
dgnLdapUserGroups = ""
Exit Function
End If
' recupere l'objet user correspondant
Set objUser = GetObject(sQuery)
' recupere la liste des groupes
arrMemberOf = objUser.GetEx("memberOf")
' boucle sur les groupes
sResult = ""
nOffset = 0
For Each Group In arrMemberOf
Range("test").Offset(nOffset) = Group
nOffset = nOffset + 1
Next
' retour du resultat
dgnLdapUserGroups = Format$(nOffset)
Exit Function
Handle_Error:
dgnLdapUserGroups = ""
MsgBox Err.Description
Exit Function
End Function |
J'appelle cette fonction dans une cellule. Quand la cellule est mise à jour et appelle la fonction, ça plante au niveau du :
Range("test").Offset(nOffset) = Group
avec l'erreur
Citation:
Erreur définie par l'application ou par l'objet
Quelqu'un a une idée ?
merci