Aide pour gestion simplifiée d'utilisateurs
Bonjour à tous, dans le cadre de l'application que j'ai mise en place on m'as demandé de pouvoir effectuer de novelles choses qui nécessite que certaines personnes accèdent à des menus spécifiques.
il y aura juste trois niveau utilisateur qui accèderons à 3 menus différents par identification du nom de session utilisateur et d'une liste d'utilisateurs et je n'ai pas le niveau ni le besoin de quelquechose si poussé que l'application de AKRAMI
Cette liste comportera les champs nom de session, nom utilisateur, et trois check de droits différents (Pas de soucis pour cette partie qui se trouve dans un onglet spécifique)
Par contre, je souhaites mettre en place une Userform pour que les Admins puissent gérer les utilisteurs avec une entête et une zone dessous ou, pour chaque ligne il y aura deux zones de texte (Nom session et nom utilisateur) et trois check box avec les droits. Je ne trouve pas comment reproduire cette série sur autant de lignes qu'il y aura d'utilisateurs (Type zone de texte déroulante à 5 colonnes)
Quelqun aurait il une piste à me donner?
Merci d'avance de votre aide
bonne journée à tous
Bon, j'ai un peu avancé sur le sujet et trouvé une solution qui me parait assez simple, il me manque uniquement la partie ajout automatique des zones en fonction du nombre d'utilisateurs créés
en gros :
comment ajouter dans la userformX, frame Y un textbox et un checkbox, si j'ai cela je vais pouvoir terminer.
j'essaye de me battre avec la notion de contrôle objet et la fonction .add mais je ne la matrise pas de toute évidence....
Merci d'avance
Bonjour,
De ce que je comprends du visuel de ton formulaire tu te casses la tête à choisir une méthode comme celle-ci.
As-tu un fichier exemple ?
Tu peux faire directement
Ainsi tu n'as pas à gérer dans ton code la création des objets mais uniquement leur remplissage.
Les cases à cocher et les menus oui/non (selon ce que tu choisis) se mettront à jour selon le choix de l'utilisateur dans la liste ou la liste déroulante.
L'admin pourra directement cocher/décocher ou choisir oui ou non.
en effet j'ai opté pour un userform car j'en utilise beaucoup dans ce fichier et cela restera don homogène pour les utilisateur
j'y suis presque, voici une copie écran de ma Userform :
dans la partie "Paramétrage des utilisateurs et droits qui est la frame8 je veux ajouter pour chaque utilisateur 2 label et 3 checkbox (Autant de lignes que d'utilisateurs)
le code suivant est une ébauche qui n'ajoute qu'une checkbox mais le principe est la :
Private Sub UserForm_Activate()
Dim i As Integer
Dim ElementAjouté As Object
'remplissage des zones à l'ouverture pour les adresses
TextBox7.Text = Worksheets("Paramêtres").Range("B18").Value
TextBox8.Text = Worksheets("Paramêtres").Range("B17").Value
TextBox3.Text = Worksheets("Paramêtres").Range("B19").Value
TextBox4.Text = Worksheets("Paramêtres").Range("B20").Value
TextBox9.Text = Worksheets("Paramêtres").Range("B21").Value
'remplissage pour les utilisateursligne 1
TextBox10.Text = Worksheets("Paramêtres").Range("A29").Value
TextBox11.Text = Worksheets("Paramêtres").Range("C29").Value
CheckBox1.Value = Worksheets("Paramêtres").Range("F29").Value
CheckBox2.Value = Worksheets("Paramêtres").Range("H29").Value
CheckBox3.Value = Worksheets("Paramêtres").Range("J29").Value
'je cré ensuite les lignes supplémentaires
For i = 2 To Worksheets("Paramêtres").Range("N28").Value
'ajout des textbox pour chaque ligne
Set ElementAjouté = Parametrage.Frame8.Controls.Add("forms.Checkbox.1")
With ElementAjouté
.Name = "CheckBox_" & i - 2
.Caption = ""
.Value = True
.Left = 438
.Top = 24 + 24 * (i - 1)
.Width = 14
.Enabled = True
End With
MsgBox i
Next i
end suble problème qu'il me reste à gérer est que la Frame 8 à une taille constante avec une barre de scroll verticale, l'ajout se fait bien mais la barre de scroll reste inactive, certainement car à l'initialisation il n'y a que les 2 premiers textbox et les 3 premier checkboxx (1 Seule ligne quoi)
sauf que je ne trouve pas comment le rafraichir après avoir créé les différents élément, j'ai bien essayé un repaint mais cela ne fonctionne pas
merci d'avance de ton interrêt et potentiellement celui des autres
Une piste. Je ne vois pas la déclaration du mouvement de la scrollbar via
Parametrage.Frame8.ScrollHeightRegarde la PJ. Un formulaire puis un bouton qui fait apparaitre une frame avec la scrollbar fonctionnelle.
Retourne dans le code et met la ligne en commentaire cette ligne. Le but de ScrollHeight est de définir de combien tu souhaites "mouvementer" l'affichage.
Frame1.ScrollHeight = .Top + .Height
En effet je pensait que l'avoir déclaré dans la fenêtre globale suffisait, je vais ajouter cela dans le code et ferait un retour dès que j'ai pu y regarder
bonne journée
Après tests, en effet le problème venait bien de ce point, merci @Alex020181 pour la solution
bonne journée