nom utilisateur

P

phil

Guest
Bonjour

Je travaille en réseau. Certains fichiers ne peuvent être partagés. J'aimerais connaitre le nom de l'utilisateur qui occupe le fichier sachant que j'arrive sur le fichier par un bouton et que le message "Fichier en cours d'utilisation, le fichier.xls est vérrouillé pour modif par xx" qui s'affiche lorsque l'on ouvre un fichier par Fichier Ouvrir ne fonctionne pas dans ce cas là. J'ai essayé avec Application.UserName mais il affiche mon nom et non pas celui de la personne xx qui l'occupe. Comment puis je faire SVP pour avoir la personne xx ?

Je vous remercie

Phil
 
@

@+Thierry

Guest
Bonsoir Phil

Tiens j'ai eu exactement le même problême il y a longtemps. J'ai pas mal cherché et j'ai trouvé une solution avec l'aide de Frédérique Sigonneau, Thierry Rural et El-Joker du MPFE...

Le résultat de cette étroite collaboration est sur Disciplus
Comme les # ne passent pas dans les URL il te faudra faire un Copier/Collé

<http://disciplus.simplex.free.fr/xl/repertoires.htm#partagéouvert>

Bonne Soirée
@+Thierry
 
P

phil

Guest
Salut Thierry

Je suis allé voir le lien mais je ne crois pas que cela réponde à ma demande. En effet, avec ceci (que j'avais déjà fait mais autrement) on me dit que le fichier est occupé mais on ne dit pas par qui. Nous sommes 10 utilisateurs et j'aimerais connaitre celui qui monopolise un peu trop longtemps le fichier afin de le presser un peu.

Phil
 
@

@+Thierry

Guest
(que j'avais déjà fait mais autrement)

Bonsoir Phil et William et les gens qui suivront ce fil.... Soupir

Vite fait, car ce soir j'ai un job à finir pour "hier" (et encore j'ai de la chance........ ils me laissent du temps)

Ta question Phil est simple et pas compliquée, enfin, au stade où tu dis en être......... Si tu lances le "fichier" comme tu le dis "par un bouton"........(et si, de plus, tu avais déjà trouvé la solution "mais autrement"... solution qui nous a pris la tête un bon moment avec les "amateurs" que j'ai nommés ci dessus)...

A toi de trouver "THE FINAL SOLUTION" puisque tu crois que mon exemple qui est sur Disciplus ne répond pas à ta demande..... Comment veux-tu que je ne sois pas "fatigué" .... Et que ce post commence à faire partie de ceux qui, par moment, me font penser......pourquoi suis-je encore ici ?

Bon je sais.... on est pas sur www.philo-downloads mais bon ! il faut aussi savoir avoir le respect... la solution ne tombe jamais toute prète... il faut un peu de curiosité personnelle, de patience, d'ingéniosité et aussi un minimum d'audace ! (c'est pas en restant assis le cul sur sur ces Lauriers qu'on gagne quoique ce soit...)

Bon poursuivons... je vais pas m'étaler.... puique tu sais tout.....

"sachant que le user X arrive sur le fichier par un bouton"...... tu as tous les éléments nécessaires ......... pour savoir Qui est Qui.....
Le user X pour lancer "Ton Bouton".......... Il a bien Excel ouvert..... NON ??

Alors dans ce cas..... Qu'attends-tu pour récupérer son nom ?????

Ensuite, après cette mise en voie..... qui m'a mise en voix.... tu devrais "avoir déjà fait" ........

Allez Bonne soirée
@+Thierry


PS 1... Je sais d'avance que tu risques de mal prendre ma réponse... Mais je ne suis que le reflet de l'arrongance...

PS 2 Et pour ta gouverne...... je t'ai mis sur une voie.... si tu l'as déjà trouvée... Alors tant mieux...... mais tu es passée à coté de la soluce..... mais à ce moment là il faut le reconnaître..... (çà m'arrive dix fois par jour!)

PS 3 Et finalement "vite fait"..... mon oeil ! déjà 22:00 et j'ai pas encore bouffé et je n'ai plus faim !
 
P

phil

Guest
Bonjour Thierry
En effet je ne comprends pas cette agressivité soudaine. Ma question n'avait rien de particulier. Je n'ai jamais dit que je savais tout comme tu l'écris, je ne suis qu'un débutant qui tatonne dans VBA. J'ai juste dit que j'avais déjà fait une macro qui correspondait à peu près à ce qui était dans DICOPLUS mais qu'elle ne répondait pas tout à fait à ce que je voulais car elle ne me donnait pas le nom de l'utilisateur en cours. Tu dis : "Alors dans ce cas..... Qu'attends-tu pour récupérer son nom ?????" mais justement c'est bien là qu'est le problème, je ne sais pas récupérer le nom.
En tout cas si quelqu'un d'autre connait la réponse, il est le bienvenu car je crois que sans raison je suis grillé auprès de Thierry.

Phil
 
@

@+Thierry

Guest
utilisateur "Grillé" lol

Bonjour à tout le monde, Bonjour Phil...


Grillé le Phil !!!




Je n'ai pas fais preuve d'agressivité et je souhaite que celà n'arrive jamais auquel cas je n'aurais plus rien à faire ici.

Non tu n'as pas dit "Que tu savais tout " tu as dit pire ! je l'ai même repris en sujet ce que tu as dit.... (que j'avais déjà fait mais autrement) alors ne fais pas semblant de ne pas comprendre.

Quand on me réponds çà, après que j'ai mis un lien où il y a la solution qui a necessité des journées de travail de ma part et en plus assisté de gens comme Frédérique Sigonneau qui s'y sont investis..... (Au fait ce n'est pas "DicoPlus" lol c'est Ce site n'existe plus) il ne faut pas que tu t'étonnes d'avoir cette réponse... Et encore j'étais de bon poil hier

Que tu soies débutant, ou developpeur confirmé, ne change rien. Ici comme dans la vie, je déteste l'arrogance. Quelque soit la réponse, Juste ou Fausse, Bonne ou Mauvaise, parfaite ou incomplète... On la respecte et on ne répond pas, en plus en sous entendu, en se cachant derrière des parenthèses En effet, avec ceci ... (que j'avais déjà fait mais autrement) ...

En plus tu sais très bien pourquoi, et aujourd'hui tu reviens style "Je ne comprends pas".. "Je n'ai jamais dit ".... c'est encore pire !

Voilà pourquoi ma réaction, puisqu'il te faut les points sur les i

Pour en revenir à nos moutons...



(lol)

Ben tu as dis toi même que ce (ces) fichier(s) était(ent) lancé(s) par un bouton...
Donc qu'Excel est ouvert. Si Excel est ouvert, les macros fonctionnent non ? Donc dans le même bouton (celui qui lance ton fichier) on peut faire écrire le nom du user sur un classeur du réseau qui servirait de registre d'utilisation de fichier.

Quand le code d'ouverture que je t'ai proposé donc sur le lien plus haut, détecte que le classeur est déjà ouvert, il suffit de prévoir la lecture de ce fichier de registre sur le dernier User. C'est pas compliqué... Il suffit d'avoir l'idée. (et l'ingéniosité, et la curiosité, et l'audace d'essayer).

Pour connaitre l'ID d'un user... Soit le truc tout bête qui peut être facilement "trafiqué par le User, vu qu'il peut enregistrer n'importe quel nom de user dans les option générales d'Excel.
Sub NomUser ()
MsgBox Application.UserName
End Sub

Soit avec cette macro utilisant une API (Application Programming Interface ) livré en standard avec Sample.xls, qui quand à elle garantie de retourner le Loggin Name du User Connecté en Réseau.

Option Explicit
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long

Sub Get_User_Name()

Dim lpBuff As String * 25
Dim ret As Long, UserName As String
ret = GetUserName(lpBuff, 25)
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
MsgBox UserName

End Sub

Voilà Mr Phil, en espérant avoir été clair autant dans mes explications VBA que dans la façon dont je vois les choses pour le respect du travail et la générosité gratuites dont tous les membres actifs font preuves ici.

Bon Appétit et bonne journée
@+Thierry​
 
P

phil

Guest
Je te remercie mais je proteste quand même car je pense que mes propos ont été mal interprétés et que je n'avais aucunement l'intention d'être arrogant. C'est la première fois en 37 ans d'existence que l'on me prête cet adjectif. Il y a un début à tout.
Je m'excuse si tu t'es senti agressé ce n'était pas mon intention.

Bonne journée et j'espère à bientôt pour une discussion moins houleuse !!!

Phil
 

Discussions similaires

Statistiques des forums

Discussions
314 121
Messages
2 106 132
Membres
109 498
dernier inscrit
joe_K