Détection automatique de l'utilisateur

  • Auteur de la discussion amazigh_man
  • Date de début

amazigh_man

Habitué
Bonjour,

Mon problème est le suivant: je développe un tableau de bord Ressources Humaines destiné aux chefs d'atelier. Le but de ce dernier est de fournir aux chefs d'atelier les indicateurs (les visites médicales, les entretiens...) sur leur périmètre.

Par ailleurs, les chefs d'atelier vont juste consulter les indicateurs. y a aussi un expert qui se charge de modifier, supprimer et mettre à jour les indicateurs.

A l'ouverture de cette application, je veux que celle ci détecte automatiquement l'utilisateur connecté, est ce un chef d'atelier ou bien un expert ? pour définir les droits de chacun d'eux (pour les chefs d'atelier: consultation et pour les experts: consultation, modification et suppression d'indicateurs).

En gros, cette application doit détecter l'adresse IPN de l'utilisateur connecté sans passer par le biais du mode passe.

Pour le développement de l'application, j'utilise VBA sous excel.


j'espère que vous avez bien compris ce que je veux dire.

Si vous avez une solution à ce problème. N'hésitez pas

Merci ;)

 

amazigh_man

Habitué
c'est l'identifiant de l'utilisateur.
Chaque employé a un identifiant

Exemple: A041359
 

hoegarden31

Expert
:D IPN veux dire :

Institut pédagogique national

hahahahaha
(lol je rigole en fait je crois que une adresseIPN c la meme chose que l'IP )
 

braindeadbzh

Grand Maître
L'ordinateur va pas deviné tout seul qui est devant la machine, faut bien qu'à un moment l'utilisateur rentre son identifiant.
 

hoegarden31

Expert
sa doit etre plus facile de faire cela avec le logiciel access
car on peut definir une clefs et et apres tu regarde le nom ou le statut qui y est associer
 

amazigh_man

Habitué
malheureusement ya pas d'access.

En fait je veux créer une table avec différents champs

Exemple:

IPN PROFIL
A01458 Expert
A01423 CHEF D'ATELIER


et après le gérer. Mais le problème, comment je vais procéder en utilisant VBA sous Excel
 

hoegarden31

Expert
ben tu fais une boucle avec comme variable l'IPN :

[cpp]
Dim inp
for i = 2 to 65536-1
if range("A" & i) = inp then
MsgBox "Le profil est " & range("B" & i) & ".")
End if
Next i[/cpp]
mais je ne sais pas si les colonnes vont etre fixe ou pas
si
oui : y a pas de probleme

non : il faut trouver la colonne INP et la colonne PROFIL
 

zeb

Modérateur
Encore un qui confond tableur et SGBD :sarcastic:
(Si ce n'est toi, c'est donc ton patron)

IPN: Internal personal Number ?

Soit cet IPN n'est en fait que le login pour accéder au poste, et il est facile de le récupérer, soit il faut demander à l'utilisateur de la saisir avant d'accéder à ton application.

hoegarden31, tu serait pas un peu bourin toi :lol: La fonction "Find" n'est pas mal tu sais ;)
 

amazigh_man

Habitué
oui zeb ta solution je l'ai proposé à mon patron, mais il veut pas.

En fait IPN c'est le login pour accéder au poste.

Mon patron veut que la détection de l'ipn soit automatique à l'ouverture de l'application. sans demander de mot de passe.

A ton avis, je fais comment?
 

Freeman23

Expert
Si c'est le login de connection windows ce n'est pas un problème du tout. Il existe un module qui permet de lire un élément dans la base de registre et tu récupère grace à cela le login de connection.
J'ai cela dans un coin de mon pc, je le trouve si tu as besoin avec un exemple d'utilisation.
 

hoegarden31

Expert
zeb >>:D je sais que c bourrin mais je connais pas grand chose de VBA
on a vu au lycee que le c++, le java, MySql,
on a travailler avec access aussi donc
j'essaie de faire du VBA avec ce que j'ai appris en C++
 

zeb

Modérateur
;) Ah ben c'est Freeman maintenant qui fait le bourin !!!!

amazigh_man» GetUserName de l'API advapi32 devrait suffire.
 

zeb

Modérateur
Autre soluce, récupérer la variable d'environnement USERNAME.
 

zeb

Modérateur
Ben sûr, j'ai le code.
Tu ne veux pas le faire toi-même ?

Code:
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( ByVal lpBuffer As String, nSize As Long) As Long 
                 
Function Kikelogue1() As String  
    Dim user As String
    Dim size As Long
    user = Space(250)
    size = 251
    msgbox GetUserName(user, size)
    Kikelogue1 = Mid(user, 1, InStr(1, user, Chr$(0)) - 1)
End Function

Function Kikelogue2() As String  
    Kikelogue2 = Environ("USERNAME")
End Function
 

hoegarden31

Expert
j'ai un question :
(sa n'a rien avoir avec le sujet mais c juste pour info )
sa sert a quoi de mettre Option Explicit ?
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 126
Messages
6 717 810
Membres
1 586 365
Dernier membre
matiOs1
Partager cette page
Haut