IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Récupérer et afficher le nom d'utilisateur


Sujet :

Access

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut Récupérer et afficher le nom d'utilisateur
    Bonjour,

    Je pose peut-être une question dont la réponse est dans les FAQ ou les Tutoriels mais je ne la trouve pas.

    Je veux récupérer et afficher le nom d'utilisateur. La fonction Username fonctionne en VBE dans Excel mais ne fonctionne pas en VBA.

    Quelqu'un peut-il me donner la solution ou m'aiguiller vers une réponse dans les FAQ ou les Tutoriels.

    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    currentuser()

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour LostIn,

    Merci pour ta réponse.

    Je viens de tester CurrentUser sur mon Pc perso. Ce qui m'ennuie c'est que la MsgBox me renvoie "Bonjour Admin" au lieu de "Bonjour " suivi du nom de ma session.

    Que manque-t-il pour qu'il me renvoie le bon nom ?

    Merci d'avance.

  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    Je pense qu'avec ça, tu auras le nom de l'utilisateur de la session Windows en cours
    Bonne continuation.
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour FreeAccess,

    Merci pour ta réponse.

    Je viens de tester. La MsgBox me renvoie "Bonjour pc" alors que ma session Windows a bien un nom. C'est à se taper la tête sur un mur

    Existe-t-il une autre solution ?

    Merci d'avance à tous.

  6. #6
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Coche la référence : Windows Script Host Object Model

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim m As IWshNetwork_Class
     
    Set m = New IWshNetwork_Class
     
     
        Nom_PC = m.ComputerName
        Nom_Uti = m.UserName
    ensuite avec ce code tu récupère les infos.
    Fonctionne sur réseau

  7. #7
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    Perso dans mes applications, j'utilise ceci : sur un Form, j'ai un champ indépendant (U_Name).
    Sur l'événement 'Sur ouverture' du Form, j'ai ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
    Me.U_Name.Caption = Environ$("username")
    End Sub
    Cela fonctionne correctement, et j'obtiens bien le nom de l'utilisateur de la session Windows en cours.
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  8. #8
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    je rejoins freeAccess ce code fonctionne même avec un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox environ("username")
    tout simplement. donc le pb ne se situe pas au niveau du code mais ailleurs.
    et pas besoins de rajouter d'autres références. références testées :

    Visual basic for application + Microsoft Access X.0 object library. ces deux références suffisent pour que le code marche.

  9. #9
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Mai 2006
    Messages : 45
    Points : 45
    Points
    45
    Par défaut
    Slt,
    J'utilise ceci dans une de mes bases :
    Ce code est placé dans un module et la fonction est exécutée au démarrage par une macro autoexec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Option Compare Database
    Public Utilisateur As String
    Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    -----------------------------------------------------------------------------------------------------------
    Public Function CapterUtilisateur()
    Dim Ch As String
    Dim a As Long
    Dim b As Long
     
        a = 199
        Ch = String$(200, 0)
        b = GetUserName(Ch, a)
     
        If b <> 0 Then
            Utilisateur = Left$(Ch, a)
        Else
            Utilisateur = "Inconnu"
        End If
    End Function

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour à tous,

    Merci pour vos réponses. Je n'arrive toujours pas à ce que je veux obtenir.

    CurrentUser me renvoie Admin comme nom
    Environ("UserName") me renvoie pc comme nom
    Le code proposé par Looping V60 me renvoie également pc.

    Ma session Windows XP a bien un nom et c'est celui que je veux obtenir. ^ù est le bug ? Quelqu'un a-t-il une idée ?

    Merci d'avance.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    bizarre, avec tout ca, tu aurais du trouver ton bonheur.

    peut tu nous dire sous quel système tu es, réseau ou pas réseau ?

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour,

    Voici les infos :
    Système Windows XP Edition familiale SP2
    Office 2003 Pro
    Pas réseau car le tour sur laquelle je développe est indépendante ; je n'ai qu'1 session sur cette tour.

    Les applicatifs que je développe sont ensuite installés sur les postes des utiliteurs qui sont en réseau..

    Je ne vois pas ce qui empèche de récupérer le nom d'utilisateur.

    Je remercie d'avance qui à une idée à proposer.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    Citation Envoyé par javelot69
    Bonjour,

    Voici les infos :
    Système Windows XP Edition familiale SP2
    ..
    En te posant la question, je pensais à ca.
    Mais je ne sais absolument pas si ca peut venir de ca.

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2004
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Hello, perso j'utilise ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public UserCur As String 
    Private Declare Function apiGetUserName Lib "advapi32.dll" _
    Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function IdUser() As String
    Dim lngLen As Long, lngX As Long
    Dim strUserName As String
       strUserName = String$(254, 0)
       lngLen = 255
       lngX = apiGetUserName(strUserName, lngLen)
            If lngX <> 0 Then
               IdUser = Left$(strUserName, lngLen - 1)
               UserCur = IdUser
            Else
               IdUser = ""
            End If
    End Function
    Et il suffit d'utiliser la variable UserCur dans ton code.

    ++

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour,

    Ayant été pris par d'autres tâches, je n'ai pu avancer sur ma question. J'y reviens avec avec une partie de la réponse.

    Lorqu'on installe Windows XP il faut déclarer un nom de session ; l'installateur ne connaissant pas l'utilisateur final met souvent un nom du genre "pc" ou "propriétaire" ou autre. Lorsqu'on change ce nom, le changement n'est qu'apparent car si on fait Ctrl+Alt+Supp et qu'on clique sur l'onglet "Utilisateurs" le nom donné à l'installation de Windows apparaît mais pas celui qu'on a mis soi-même.

    J'ai testé les solutions proposées (merci à ceux qui m'ont répondu, vous êtes géniaux).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msg = "Bonjour " & CurrentUser & ". C'est bien votre nom ?"
    Ce code renvoie le message "Bonjour Admin"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msg = "Bonjour " & Environ("UserName") & ". C'est bien votre nom ?"
    Ce code renvoie le message "Bonjour pc" (pc est le nom donné par l'installateur de Windows ; j'ai changé ce nom mais la fonction ne le renvoie pas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Public Function CapterUtilisateur()
    Dim Ch As String
    Dim a As Long
    Dim b As Long
     
    Dim msg As String
    Dim ans As String
     
     
        a = 199
        Ch = String$(200, 0)
        b = GetUserName(Ch, a)
     
        If b <> 0 Then
            Utilisateur = Left$(Ch, a)
     
            'msg = "Bonjour " & Environ("CurrentUser") & ". C'est bien votre nom ?"
            msg = "Bonjour " & Utilisateur & ". C'est bien votre nom ?"
     
            ans = MsgBox(msg, vbYesNo)
                If ans = vbNo Then MsgBox "oups, ça ne marche pas"
                If ans = vbYes Then MsgBox "et voici le résulat de Environ(UserName)"
     
     
        Else
            Utilisateur = "Inconnu"
        End If
    End Function
    Ce code renvoie également le message "Bonjour pc" (c'est-à-dire le nom par défaut donné par l'installateur de Windows).

    Comme je le disais dans mon premier post, dans VB sous Excel la fonction suivante fonctionne très bien et renvoie le nom donné à sa session par l'utilisateur et non celui donné par l'installateur de Windows
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msg = "Bonjour " & Application.UserName & Chr(10) & Chr(10) & "C'est bien votre nom?"
    Ma question d'origine est toujours sans solution : existe-t-il dans Access une fonction équivalente à UserName pour récupérer le nom donné par l'utilisateur à sa session ?

    Je remercie d'avance ceux qui ont des idées à proposer.

    Bonne journée.

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2004
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Rien ne vaut une belle image...



    ++

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour besly,

    Quelle est belle cette image !!!!!! Merci pour cette réponse.

    J'ai testé cette solution ........... Ce n'est toujours pas la bonne !

    La MsgBox me donne "Nom de la session en cours ... pc"

    As-tu vérifié dans Ctrl+alt+Supp onglet "Utilisateurs" quel est le nom qui apparaît ? Si c'est Sylvain, cela explique que la fonction renvoie ce nom. Comme je l'ai écrit, dans mon cas l'utilisateur est "pc" (nom donné par l'installateur de Windows XP sur mon ordi) mais j'ai donné un autre nom à cette session dans le compte utilisateur.

    Qui prétend qu'informatique rime avec simplicité ?

    Je fais à nouveau appel aux bonnes volontés ; qui a une solution à proposer ?

    Merci d'avance. Bonne journée.

  18. #18
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Arrivé à ce stade je pense que tu as plus un soucis sur ton poste au niveau de tes comptes. Tous les codes donnés sur ce post son corrects et fonctionne avec tout le monde sauf toi.

    As-tu esseyé sur un autre PC ?
    As-tu modifié tes comptes utilisateurs ?

    Dans l'image de besly tu peux remarquer dans demarrer le nom de la session, qu'en est-il pour toi ?

  19. #19
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re

    ton problème m'a intrigué, je mes suis amuser : lol: à modifier le nom de mon compte et j'ai vu ton problème :
    • Lorsque tu change le nom d'un Compte sur XP il te modifie simplement le nom complet et non le nom (à relire si besoin ).
    • Le code donné récupère le nom de l'utilisateur, c'est pour cela que tu as PC.
    • Pour modifier le nom de ton compte il faut effectuer une petite manip :

    Demarrer Paramètres Panneau de Configuration Outils d'administartion Gestion de l'utilisateur Utilisateurs et groupe locaux Utilisateurs Clic droit sur la ligne à modifier Renommer.

    Le tour est joué

  20. #20
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour,

    Un grand merci à Dolphy35 pous ses observations pertinentes.

    Dans mon post d'hier, je décris le problème du changement de nom de la session puisque ce changement n'est qu'apparent ; ainsi le nom qui apparaît dans démarrer est bien le nom de la session ouverte, nom que j'ai donné dans "Démarrer", "Panneau de configuration", "Comptes d'utilisateurs" ; j'insiste aussi sur le fait que si je fait Ctrl+Alt+Suppr et que je vais dans l'onglet "Utilisateurs" le nom de l'utilisateur actif est "pc".

    C'est vrai que tous les codes donnés sur ce post sont bons et je remercie tous ceux qui ont pris le temps de me répondre ; ce site est génial et je suis très heureux de m'y être inscrit. Le problème est que ces codes ne me renvoient pas l'information attendue alors que dans Excel la fonction UserName donne le résultat attendu !

    Nous sommes peut-être devant une bizarrerie "microsoftienne" !

    Pour répondre à Dolphy35, non je n'ai pas essayé sur un autre ordinateur ; j'ai (bêtement) pensé que ce n'était pas la peine.
    Demarrer Paramètres Panneau de Configuration Outils d'administartion Gestion de l'utilisateur Utilisateurs et groupe locaux Utilisateurs Clic droit sur la ligne à modifier Renommer.

    Le tour est joué
    Je travaille avec Window XP Edition familiale SP2 ; dans "Outils d'administration" je n'ai pas "Gestion de l'utilisateur" (j'ai "Gestion de l'ordinateur" mais cela ne donne pas accès à "Utilisateurs et groupe locaux").

    De plus en plus bizarre Microsoft !

    Dolphy35, si tu as le temps d'écrire un post, je suis preneur.

    "Thanks a lot" à tous.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/09/2014, 23h42
  2. Réponses: 10
    Dernier message: 17/05/2006, 11h22
  3. [Internet] Récupérer le nom d'utilisateur ?
    Par Bleys dans le forum Delphi
    Réponses: 7
    Dernier message: 15/05/2006, 18h31
  4. Récupérer le nom d'utilisateur
    Par Zolex dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/06/2004, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo