Excel : extraire un nom depuis un login
Résolu/Fermé
coockie67
Messages postés
254
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
7 janvier 2009
-
29 mai 2008 à 21:25
coockie67 Messages postés 254 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 7 janvier 2009 - 6 juin 2008 à 19:12
coockie67 Messages postés 254 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 7 janvier 2009 - 6 juin 2008 à 19:12
A voir également:
- Excel : extraire un nom depuis un login
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
5 réponses
chtilou
Messages postés
1696
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
30 avril 2012
523
29 mai 2008 à 22:33
29 mai 2008 à 22:33
Bonsoir Coockie67,
Je ne suis pas sur que le forum bureautique soit le plus approprié à ta question. :-(
Cordialement.
Je ne suis pas sur que le forum bureautique soit le plus approprié à ta question. :-(
Cordialement.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
30 mai 2008 à 07:31
30 mai 2008 à 07:31
Bonjour,
Pour récupérer le login essaie en ajoutant cette fonction personnalisée dans un module :
et dans une cellule saisis
=login()
Si ça ne suffit pas il y a une autre fonction utilisant les API:
Pour récupérer le login essaie en ajoutant cette fonction personnalisée dans un module :
Function login() As String login = Application.UserName End Function
et dans une cellule saisis
=login()
Si ça ne suffit pas il y a une autre fonction utilisant les API:
Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long Const NoError = 0 Function GetUserName() Const lpnLength As Integer = 255 Dim status As Integer Dim lpName, lpUserName As String lpUserName = Space$(lpnLength + 1) status = WNetGetUser(lpName, lpUserName, lpnLength) If status = NoError Then lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else MsgBox "Impossible d'obtenir le login." End End If GetUserName = lpUserName End Functioneric
coockie67
Messages postés
254
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
7 janvier 2009
165
30 mai 2008 à 16:10
30 mai 2008 à 16:10
Merci, je vais essayer ça lundi au bureau et je te tiendrais au courant.
encore merci d'avoir le temps de répondre.
encore merci d'avoir le temps de répondre.
coockie67
Messages postés
254
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
7 janvier 2009
165
2 juin 2008 à 17:49
2 juin 2008 à 17:49
Salut,
Ca fonctionne mais tout à fait. Je m'explique.
Lors du débogage, j'ai une erreur :
Erreur de compilation :
Seul des commentaires peuvent apparaître après EndSub, Endfonction ou Endproperty.
Mise à part celà, j'obtiens mon login (avec ma session) c'est ce que je souhaite, mais lorsque j'ouvre le fichier avec une autre session, c'est toujours mon login qui s'affiche.
Ca fonctionne mais tout à fait. Je m'explique.
Lors du débogage, j'ai une erreur :
Erreur de compilation :
Seul des commentaires peuvent apparaître après EndSub, Endfonction ou Endproperty.
Mise à part celà, j'obtiens mon login (avec ma session) c'est ce que je souhaite, mais lorsque j'ouvre le fichier avec une autre session, c'est toujours mon login qui s'affiche.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
2 juin 2008 à 20:29
2 juin 2008 à 20:29
Bonsoir,
Erreur de compilation :
Seul des commentaires peuvent apparaître après EndSub, Endfonction ou Endproperty.
Ben ça veut dire ce que ça veut dire : tu as une ligne autre qu'un commentaire après un end sub ou end function...
Et en plus cette ligne est sélectionnée lors de l'affichage du message d'erreur, si tu ne la trouves pas je ne peux plus rien pour toi ;-)
La partie
mais lorsque j'ouvre le fichier avec une autre session, c'est toujours mon login qui s'affiche.
Si tu disais avec quelle version ? le 1ère ou la 2nde ?
Si c'est la 1ère ça ne m'étonne qu'à moitié, tout dépend comment sont configurés les postes. Chez nous les noms d'utilisateur (excel) sont mis égaux au login donc sur le poste utilisateur c'est ok. C'est plus court mais pas très fiable, je te l'avais mise des fois que ce soit suffisant.
Utilise la 2nde version qui fonctionnera si declare function est bien mis au début.
eric
Erreur de compilation :
Seul des commentaires peuvent apparaître après EndSub, Endfonction ou Endproperty.
Ben ça veut dire ce que ça veut dire : tu as une ligne autre qu'un commentaire après un end sub ou end function...
Et en plus cette ligne est sélectionnée lors de l'affichage du message d'erreur, si tu ne la trouves pas je ne peux plus rien pour toi ;-)
La partie
Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long Const NoError = 0soit être écrite avant le 1er sub ou function du module (juste après 'option explicite' si tu l'as laissé)
mais lorsque j'ouvre le fichier avec une autre session, c'est toujours mon login qui s'affiche.
Si tu disais avec quelle version ? le 1ère ou la 2nde ?
Si c'est la 1ère ça ne m'étonne qu'à moitié, tout dépend comment sont configurés les postes. Chez nous les noms d'utilisateur (excel) sont mis égaux au login donc sur le poste utilisateur c'est ok. C'est plus court mais pas très fiable, je te l'avais mise des fois que ce soit suffisant.
Utilise la 2nde version qui fonctionnera si declare function est bien mis au début.
eric
coockie67
Messages postés
254
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
7 janvier 2009
165
5 juin 2008 à 19:10
5 juin 2008 à 19:10
Salut,
tout d'abord merci d'avoir pris le temps de me répondre.
J'ai essayer la première solution :
Function login() As String
login = Application.UserName
End Function
et dans une cellule saisis
=login()
Je pensais que celà ne fonctionner pas, mais en faite l'utilisateur doit double cliquer (dans la cellule) puis valider la formule (=login()) pour ce son nom d'utilisateur fonctionne.
J'ai essayer de faire rafraichir le ficheir excel avec
Autorefresh = 1
Mais celà ne semble pas fonctionner.
Il faut peut-être le placer ailleurs je ne sais pas. Pour le moment j'ai :
Sub login01
End Sub
Function login() As String
login = Application.UserName
End Function
Autorefresch = 1
tout d'abord merci d'avoir pris le temps de me répondre.
J'ai essayer la première solution :
Function login() As String
login = Application.UserName
End Function
et dans une cellule saisis
=login()
Je pensais que celà ne fonctionner pas, mais en faite l'utilisateur doit double cliquer (dans la cellule) puis valider la formule (=login()) pour ce son nom d'utilisateur fonctionne.
J'ai essayer de faire rafraichir le ficheir excel avec
Autorefresh = 1
Mais celà ne semble pas fonctionner.
Il faut peut-être le placer ailleurs je ne sais pas. Pour le moment j'ai :
Sub login01
End Sub
Function login() As String
login = Application.UserName
End Function
Autorefresch = 1
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
5 juin 2008 à 19:39
5 juin 2008 à 19:39
Bonsoir,
essaie en ajoutant application.volatile juste après le function...
Au 1er recalcul la mise à jour devrait se faire.
Je te rappelle mon post 5 où je te conseille d'utiliser plutôt la 2nde version qui retourne réellement le login.
La 1ère ça dépend de la configuration du poste...
eric
essaie en ajoutant application.volatile juste après le function...
Au 1er recalcul la mise à jour devrait se faire.
Je te rappelle mon post 5 où je te conseille d'utiliser plutôt la 2nde version qui retourne réellement le login.
La 1ère ça dépend de la configuration du poste...
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
coockie67
Messages postés
254
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
7 janvier 2009
165
6 juin 2008 à 19:12
6 juin 2008 à 19:12
Bonsoir,
J'ai utiliser l'instruction "Workbook_Open()" qui fonctionne à merveille et que j'ai pu trouver dans un autre post de ce forum.
A partir du login, j'ai pu obtenir le nom complet à l'aide des instructions
Public Function getRealName(ByVal strUser As String) As String
Select Case UCase(strUser)
Case "loginEx"
getRealName = "exemple de login"
Maintenant je cherche a associer certaine actions et à remplir des cellules. J'ai cherché un peu et j'ai trouvé :
.Cells(3, 1) = GetRealName
Mais il semble manquer quelque chose. Si t'as une idée, j'suis preneur.
Merci encore de m'avoir aiguiller avec l'instruction GetUserName
J'ai utiliser l'instruction "Workbook_Open()" qui fonctionne à merveille et que j'ai pu trouver dans un autre post de ce forum.
A partir du login, j'ai pu obtenir le nom complet à l'aide des instructions
Public Function getRealName(ByVal strUser As String) As String
Select Case UCase(strUser)
Case "loginEx"
getRealName = "exemple de login"
Maintenant je cherche a associer certaine actions et à remplir des cellules. J'ai cherché un peu et j'ai trouvé :
.Cells(3, 1) = GetRealName
Mais il semble manquer quelque chose. Si t'as une idée, j'suis preneur.
Merci encore de m'avoir aiguiller avec l'instruction GetUserName