Classe UserAccess (Excel VBA)

Cet objet représente l'accès de l'utilisateur à une plage protégée.

Set

Pour utiliser une variable de classe UserAccess, elle doit d'abord être instanciée, par exemple

Dim usrac as UserAccess
Set usrac = ActiveSheet.Protection.AllowEditRanges(1).Users(Index:=1)

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe UserAccess : UserAccessList.Item, UserAccessList.Add et AllowEditRange.Users

For Each

Voici un exemple de traitement des éléments UserAccess dans une collection

Dim usracUser As UserAccess
For Each usracUser In ActiveSheet.Protection.AllowEditRanges(1).Users
	
Next usracUser

AllowEdit

Cette propriété renvoie ou définit une valeur de type Boolean qui indique si l'utilisateur a l'autorisation d'accéder à la plage spécifiée dans une feuille de calcul protégée.

ActiveSheet.Protection.AllowEditRanges(1).Users(1).AllowEdit = True

Delete

Cette méthode supprime l'objet.

ActiveSheet.Protection.AllowEditRanges(1).Users(1).Delete

Name

Cette propriété renvoie ou définit une valeur de type String qui représente le nom de l'objet.

Dim strName As String
strName = ActiveSheet.Protection.AllowEditRanges(1).Users(1).Name

UserAccessList.Add

Cette méthode ajoute une liste d'accès des utilisateurs.

Syntaxe : expression.Add (Name, AllowEdit)

Dim strName As String: strName = 
Dim usrac As UserAccess
Set usrac = ActiveSheet.Protection.AllowEditRanges(1).Users.Add(Name:=strName, AllowEdit:=True)

Arguments

Les arguments nommés :

Name (String) - Nom de la liste d'accès des utilisateurs.

AllowEdit (Boolean) - True permet aux utilisateurs figurant dans la liste d'accès de modifier les plages modifiables d'une feuille de calcul protégée.

UserAccessList.Count

Cette propriété renvoie une valeur de type Long qui représente le nombre d’objets de la collection.

Dim lngCount As Long
lngCount = ActiveSheet.Protection.AllowEditRanges(1).Users.Count

UserAccessList.DeleteAll

Cette méthode supprime tous les utilisateurs ayant accès à une plage protégée dans une feuille de calcul.

ActiveSheet.Protection.AllowEditRanges(1).Users.DeleteAll

UserAccessList.Item

Cette méthode renvoie un seul objet d'une collection.

Pour plus d’informations sur le renvoi d’un seul membre d’une collection, voir renvoi d’un objet à partir d’une collection.

Syntaxe : expression.Item (Index)

Index: Nom ou numéro d'index de l'objet.

Dim usracItem As UserAccess
Set usracItem = ActiveSheet.Protection.AllowEditRanges(1).Users(Index:=1)