Excel : extraire un nom depuis un login
Résolu
coockie67
Messages postés
254
Date d'inscription
Statut
Membre
Dernière intervention
-
coockie67 Messages postés 254 Date d'inscription Statut Membre Dernière intervention -
coockie67 Messages postés 254 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai pouvoir remplir certains champs automatiquement dans un formulaire (excel) situé sur réseau.
Afin de facilité la tache des utilisateurs, je voudrais que certains champs comme le nom se remplisse automatiquement.
Je pense que celà est possible à l'aide du LOGIN, mais malheureusement je n'ai trouvé aucune formule pour le réaliser.
Je suppose que celà doit être réaliser en VB, mais je n'ai aucune idée de la manière dont celà fonctionne.
Si quelqu'un connait la solution et pouvais me faire partager ces connaissances ce serait cool.
Merci par avance.
coockie.
Je souhaiterai pouvoir remplir certains champs automatiquement dans un formulaire (excel) situé sur réseau.
Afin de facilité la tache des utilisateurs, je voudrais que certains champs comme le nom se remplisse automatiquement.
Je pense que celà est possible à l'aide du LOGIN, mais malheureusement je n'ai trouvé aucune formule pour le réaliser.
Je suppose que celà doit être réaliser en VB, mais je n'ai aucune idée de la manière dont celà fonctionne.
Si quelqu'un connait la solution et pouvais me faire partager ces connaissances ce serait cool.
Merci par avance.
coockie.
A voir également:
- Excel : extraire un nom depuis un login
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
5 réponses
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.
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
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.
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
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
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
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