Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Bonjour a tous
je viens faire appel a vos talents.
j'ai une appli qui s'ouvre avec un mot de passe ( jusqu'ici tout va bien)
Mais mon souci est que j'aimerai que en fonction du nom de l'utilisateur certains boutons sur ma feuille "acceuil" soit inhibe afin de restreindre l'utilisation.
Par exemple : utilisateur "toto" 2 boutons sont inhibés
utilisateur " toto1" 1 bouton est inhibé
enfin utilisateur " moi" tous les boutons sont actifs.
merci d'avance de votre aide
nb: le nom utilisateur est toto le pasword toto1
merci a vous
bonjour à toi Papou-net et a tous les autres
j'ai essaye ton code mais cela ne marche pas.
en effet quelque soit le nom d'utilisateur entrer tous les boutons de ma page "accueil" reste activé. Alors que j'aurai bien aimé restreindre l'acces à certains boutons en fonction du nom de l'utilisateur.
Mais encore une fois merci pour ton boulot cela m'a servi a avancer un peu
à tres bientot
j'ai essaye ton code mais cela ne marche pas.
en effet quelque soit le nom d'utilisateur entrer tous les boutons de ma page "accueil" reste activé. Alors que j'aurai bien aimé restreindre l'acces à certains boutons en fonction du nom de l'utilisateur.
J'ai omis de modifier une erreur dans les lignes suivantes :
Code:
' Si oui, on vérifie le mot de passe
RMdp = Sheets("Users").Range("C" & Lig)
[COLOR="Red"][B]UserT = Sheets("Users").Range("[COLOR="Blue"]B[/COLOR]" & Lig)[/B][/COLOR]
' <<< Modif le 23/12
varProtect = False
If Sheets("Users").Range("D" & Lig).Value = "Oui" Then varProtect = True
...
...
...
' >>> Modif le 23/12
[B][COLOR="Red"]Sheets("accueil").[COLOR="Blue"]Activate[/COLOR][/B][/COLOR]
' End If
' Si tous les tests sont passés
' on ferme la boite de dialogue
Le "B" remplace le "A", "Activate" remplace "Visible = True".
merci à toi Papou-net
Cela marche nickel
Mais j'ai une derniere question
Comment je fais si j'ai plusieurs utilisateurs , droit je entrer a chaque fois le nom de l'utilisateur.
j'aurai simplement voulu entrer le nom des utilisateurs dans la feuille "USERS" et pas dans le code
Merci à toi. Promis juré je ne t'embeterai plus avec mes questions , mais cela m'aide aussi à evoluer en VBA
à bientot
merci à toi Papou-net
Cela marche nickel
Mais j'ai une derniere question
Comment je fais si j'ai plusieurs utilisateurs , droit je entrer a chaque fois le nom de l'utilisateur.
j'aurai simplement voulu entrer le nom des utilisateurs dans la feuille "USERS" et pas dans le code
Merci à toi. Promis juré je ne t'embeterai plus avec mes questions , mais cela m'aide aussi à evoluer en VBA
à bientot
merci à toi cela marche tres tres bien.
j'ai bien avance grace à toi mais j'ai un autre souci
1) j'ai sur ma page d" accueil" plusieurs boutons j'aimerai que quand j'active ma feuille tous les boutons soient visible avant l'apparition du mot de passe.
2) d'autre part je voudrait que quand je clique sur le bouton "changer d'utilisateur" tous les controles de usf "users" se mettre à zero c'a dire qu'ils ne garde pas les anciens mots de passe ni le nom de l'utilisateur.
3) enfin sur le clic du bouton " nouvel article" l'usf qui s'ouvre droit me permettre d'entrer des articles et les ajouter à la suite dans ma feuille "interventions" avec le bouton " valider".
NB: le mot de passe est "ADMINISTRATEUR le password "CDE"
Merci d'avance
1) j'ai sur ma page d" accueil" plusieurs boutons j'aimerai que quand j'active ma feuille tous les boutons soient visible avant l'apparition du mot de passe.
Sur ton fichier joint, il n'y a que 2 boutons sur la feuille "accueil" : <Nouvel article> et <Changer d'utilisateur>. Les autres ont disparu, et l'application plante au démarrage.
2) d'autre part je voudrait que quand je clique sur le bouton "changer d'utilisateur" tous les controles de usf "users" se mettre à zero c'a dire qu'ils ne garde pas les anciens mots de passe ni le nom de l'utilisateur.
Pour celà, il suffit de transférer le code de l'événement "UserForm_Initialize" dans l'événement "UserForm_Activate". Ainsi, le code se déroulera à chaque affichage du formulaire, et la limitation aux 3 essais également. Voir ci-dessous :
Code:
Private Sub UserForm_Activate()
' Essai saisie nom Utilisateur
EssaiU = 0
' Essai saisie Mot de Passe
EssaiM = 0
Me.[COLOR="Red"][B]TBNom[/B][/COLOR].Value = ""
Me.TBMdP.Value = ""
Me.TBNom.SetFocus
End Sub
Private Sub UserForm_Initialize()
End Sub
Pour le 3ème point, j'y regarderai quand le fichier sera opérationnel.
voila un nouveau lien avec quelques corrections que j'ai apporte à mon fichier
Mais je bloque toujours sur les memes problemes
bien à vous et bonnes coontinuations.
Cijoint.fr - Service gratuit de dépôt de fichiers
voila un nouveau lien avec quelques corrections que j'ai apporte à mon fichier
Mais je bloque toujours sur les memes problemes
bien à vous et bonnes coontinuations.
Cijoint.fr - Service gratuit de dépôt de fichiers
Par contre, j'aurais besoin que tu me précises certaines choses, car je suis entré dans une nébuleuse. En effet, tu as défini 4 userforms de gestion (presque identiques) :
Lequel faut-il prendre pour la saisie d'un nouvel article ? Actuellement, c'est le premier ("gestion") qui s'ouvre. Je pense que dans ce cas, le nouvel article peut s'inscrire dans une textbox au lieu de la liste déroulante.
Dans quelle feuille le bouton Valider doit-il inscrire le nouvel article : "INTERVENTIONS" ou "Params" ?
Quelle est l'utilité de ces 2 feuilles, identiques à première vue ?
Peux-tu me confirmer si tous les Userforms sont utiles, ou si ce sont des essais ?
Dans l'attente de te lire.
Cordiales salutations.
PS : j'ai remanié la macro événementielle de la liste déroulante, afin d'afficher tous les éléments de l'article sélectionné .
Code:
Private Sub CB_ARTICLES_Change()
Dim Lg As Integer
If Me.CB_ARTICLES.Value <> "" Then 'condition : si CB_ARTICLES n'est pas vide
With Sheets("Params")
Lg = Me.CB_ARTICLES.ListIndex + 2
Me.TB_ELEMENTS.Value = .Cells(Lg, 1) 'affiche le nom de l'élement
Me.TB_NELEMENTS.Value = .Cells(Lg, 2) 'affiche le code de l'élement
Me.TB_ARTICLES.Value = .Cells(Lg, 4) 'affiche le code de l'article
Me.TB_ESPACES.Value = .Cells(Lg, 5) 'affiche l'espace
Me.TB_ILOTS.Value = .Cells(Lg, 6) 'affiche l'ilot
Me.TB_STOCK.Value = .Cells(Lg, 7) 'affiche le stock
Me.TB_REFFAB.Value = .Cells(Lg, 8) 'affiche le fabricant
Me.TB_FOURNISSEURS.Value = .Cells(Lg, 15) 'affiche le fournisseur
Me.TB_SORTIE.SetFocus 'place le curseur dans la TB_SORTIE
Répertoire = ThisWorkbook.Path
If Dir(Répertoire & "\" & Me.CB_ARTICLES & ".jpg") <> "" Then
Me.Image1.Picture = LoadPicture(Répertoire & "\" & Me.CB_ARTICLES & ".jpg")
Else
On Error Resume Next
Me.Image1.Picture = LoadPicture(Répertoire & "\" & "TRAVAUX.gif")
End If
End With
End If 'fin de la condition
End Sub
Pour simplifier et l'écriture et la lecture du code, J'ai créé une variable "'Lg" qui récupère le numéro de lignes de l'article sélectionné, et jai ajouté la référence de la feuille "Params", sinon la lecture des éléments se faisaient sur la feuille active ("accuei"l en l'occurence),
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.