Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Modification de droits d'accès par UF

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ReneDav14000

XLDnaute Occasionnel
Bonjour à toutes et à tous,
J'ai créé un formulaire pour gérer les droits d'accès des utilisateurs.
Certains agents existent déjà et peuvent voir leurs droits être modifiés et d'autres nouveaux utilisateurs se voir attribuer des droits d'accès.
Dans la feuille "Accès" du fichier ci-joint il y a un tableau nommé "List_User" dans lequel sont entrés des noms avec un mot de passe et des croix indiquant leur(s) droit(s).
Donc si un agent existe déjà et qu'on lui modifie ses droits, des croix doivent être ajoutées ou supprimées.
Pour un nouvel arrivant il ne peut y avoir que des ajouts de croix et l'attribution d'un mot de passe limité à 7 caractères.

Pourriez-vous m'aider à réaliser ce projets s'il vous plait car je n'y arrive pas ?
En vous en remerciant par avance

PS : J'ai oublié une donnée importante, certains utilisateurs peuvent avoir accès à certaine feuille en lecture seulement. Désolé pour cet oubli
 

Pièces jointes

Dernière édition:
Solution
désolé!
VB:
Private Sub ComboUtil_Change()
If Me.ComboUtil.Value = "" Or Me.TextPrenom.Value = "" Or Me.TextMdP.Value = "" Then Exit Sub

With ThisWorkbook.Sheets("Accès")
    Dim I As Integer: I = NomPnom(ComboUtil.Value, TextPrenom.Value, TextMdP.Value, .Range("A:A"))
    If I = 0 Then MsgBox "Pas trouvé": Exit Sub
    With .Cells(I, "A")
        Me.TextPrenom.Value = .Cells.Offset(, 1)
        Me.TextMdP = .Cells.Offset(, 2)
        Me.CheckBoutAgent = .Cells.Offset(, 3) = "X" 'True/False
        Me.CheckBouEntSort = .Cells.Offset(, 4) = "X"
        Me.CheckBoutHor = .Cells.Offset(, 5) = "X"
        Me.CheckBoutEtiq = .Cells.Offset(, 6) = "X"
        Me.CheckFeuilCalcul = .Cells.Offset(, 7) = "X"
        Me.CheckFeuilData =...
Même si je le voulais je ne le pourrais pas car je ne suis qu'un exécutant. Ce sont les contraintes liées à mon poste, il y a des donneurs d'ordres au dessus de moi.
 
désolé!
VB:
Private Sub ComboUtil_Change()
If Me.ComboUtil.Value = "" Or Me.TextPrenom.Value = "" Or Me.TextMdP.Value = "" Then Exit Sub

With ThisWorkbook.Sheets("Accès")
    Dim I As Integer: I = NomPnom(ComboUtil.Value, TextPrenom.Value, TextMdP.Value, .Range("A:A"))
    If I = 0 Then MsgBox "Pas trouvé": Exit Sub
    With .Cells(I, "A")
        Me.TextPrenom.Value = .Cells.Offset(, 1)
        Me.TextMdP = .Cells.Offset(, 2)
        Me.CheckBoutAgent = .Cells.Offset(, 3) = "X" 'True/False
        Me.CheckBouEntSort = .Cells.Offset(, 4) = "X"
        Me.CheckBoutHor = .Cells.Offset(, 5) = "X"
        Me.CheckBoutEtiq = .Cells.Offset(, 6) = "X"
        Me.CheckFeuilCalcul = .Cells.Offset(, 7) = "X"
        Me.CheckFeuilData = .Cells.Offset(, 8) = "X"
        Me.CheckBoutReserv = .Cells.Offset(, 9) = "X"
        Me.CheckBoutPlan = .Cells.Offset(, 10) = "X"
        Me.CheckFeuildroits = .Cells.Offset(, 11) = "X"
    End With
End With
End Sub

Private Sub TextNOM_Change()
TextNOM.Value = UCase(TextNOM.Value)
End Sub

Private Sub TextPrenom_Change()
TextPrenom.Value = StrConv(TextPrenom, vbProperCase)
If ComboUtil.Visible And TextPrenom.Value <> "" Then ComboUtil_Change
End Sub
Private Sub TextMdP_Change()
If ComboUtil.Visible And TextMdP.Value <> "" Then ComboUtil_Change
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Y
Réponses
2
Affichages
1 K
Y
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…