OVH Cloud OVH Cloud

Qui utilise un fichier sur le reseau

20 réponses
Avatar
StDonat
Bonjour à tous et à toutes!
J'ai bo chercher, mais je ne trouve pas!
Il y a bien isabelle qui a mis quelques chose dans le genre sur ExcelLabo
mais je n'arrive pas a le faire fonctionner!
Je veux par macro, connaitre le nom de la personne qui utilise un
fichier(non partagé) disponible sur un reseau.
Cela doit etre possible car lorsque j'ouvre le fichier Excel me dis qu'il
est en lecture seul car utilisé par "toto"..
Merci de votre aide

10 réponses

1 2
Avatar
StDonat
Désolé mais je ne comprends pas ! Même en relisant tout tes post!!

"LSteph" wrote:

puisque tu ne considère qu'un bout de que j'ai écrit, lis le bien:

>Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
>sans API

et c'est beaucoup plus simple à écrire dans ta macro

....de rien ce fut un plaisir!

StDonat a écrit :
> Environ("UserName") ne me renvoie pas le nom de celui qui a la main sur le
> fichier...
>
> "lSteph" wrote:
>
>> Bonjour,
>>
>> ....c'est parti tout seul, j'ai tricoté avec mon clavier
>> Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
>> sans API
>>
>> Sinon lorsque tu ouvre un doc ou xls , si préalablement sur les postes
>> (Onglet Outil options ont été renseignés correctement), tu devrais
>> voir un message appara^tre, le fichier machin est déjà ouvert par
>> truc bidule...
>>
>> ...je reviens
>>
>> --
>> lSteph
>>
>>
>>
>>
>> On 8 août, 15:32, StDonat wrote:
>>> J'ai bien le meme fonctionnement que toi, mais je voudrais récuperer par
>>> macro le nom de l'utilisateur!!
>>>
>>> "Mario Limoges" a écrit :
>>>
>>>> De mon coté au travail (nous avons un tres gros réseau, plus de 1000
>>>> employés) si un employé ouvre un fichier office qui se trouve enregistré sur
>>>> le serveur pour le modifier et qu'un deuxieme le rouvre, ce message ce fait
>>>> automatiquement, il ne peut donc que l'ouvrire qu'en lecture seul tant que
>>>> le premier l'ayant ouvert y travail. Nous avons alors l'option de l'ouvrire
>>>> en lecture seul, ou d'être aviser lorsque le fichier deviendra disponible en
>>>> lecture - écriture une fois que le premier employé l'aura fermé.
>>>> "StDonat" a écrit dans le message de
>>>> news: CE45FF40-144F-4E3B-BFC6-84E04F03E__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
>>>>> Merci Mario de cette réponse rapide mais je ne comprend ou je dois
>>>>> préciser
>>>>> le nom du fichier "toto.xls" ?
>>>>> Car en fait je voudrais a partir d'un fichier "titi.xls" qu'il y ai une
>>>>> macro qui ouvre un fichier "toto.xls" a l'aide de la commande:
>>>>> Workbooks.Open filename:="o:toto.xls" MAIS avant de l'ouvrir je voudrais
>>>>> verifier que toto n'est pas déja utilisé et si c'est le cas avoir un
>>>>> msgbox
>>>>> qui me dise "Toto.xls est en lecture seul car utilisé par M.DUPOND"....
>>>>> Merci désolé si je n'ai pas eté clair au début
>>>>> "Mario Limoges" a écrit :
>>>>>> Bonjour!
>>>>>> vous disiez
>>>>>>> Bonjour à tous et à toutes!
>>>>>>> J'ai bo chercher, mais je ne trouve pas!
>>>>>>> Il y a bien isabelle qui a mis quelques chose dans le genre sur
>>>>>>> ExcelLabo
>>>>>>> mais je n'arrive pas a le faire fonctionner!
>>>>>>> Je veux par macro, connaitre le nom de la personne qui utilise un
>>>>>>> fichier(non partagé) disponible sur un reseau.
>>>>>>> Cela doit etre possible car lorsque j'ouvre le fichier Excel me dis
>>>>>>> qu'il
>>>>>>> est en lecture seul car utilisé par "toto"..
>>>>>>> Merci de votre aide
>>>>>> la fonction GetMyName retourne l'identification du logg de l'utilisateur
>>>>>> sur
>>>>>> le réseau
>>>>>> Private Declare Function GetComputername Lib "kernel32" Alias
>>>>>> "GetComputernameA" (ByVal lpBuffer As String, nSize As Long) As Long
>>>>>> Option Explicit
>>>>>> 'Déclaration des fonctions API
>>>>>> Declare Function GetUserName Lib "advapi32.dll" Alias _
>>>>>> "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
>>>>>> Public Function GetMyName() As String
>>>>>> 'Trouve le nom de l'utilisateur qui a demandé l'exécution du programme
>>>>>> GAPE
>>>>>> Dim Utilisateur As String
>>>>>> Dim X As Integer
>>>>>> Utilisateur = Space(10)
>>>>>> Call GetUserName(Utilisateur, 10)
>>>>>> X = Len(Utilisateur)
>>>>>> GetMyName = Mid(Utilisateur, 1, Len(Utilisateur) - 1)
>>>>>> End Function
>>



Avatar
LSteph
ok!essaie ceci



Sub test()
MsgBox Environ("UserName")
End Sub

imagine maintenant que ce soit un autre qui ouvre et
qu'il y ait cet autre code en exemple dans thisworkbook
donc dans l'exemple remplace l'email de yoyo par le tien:


Private Sub Workbook_Open()
Application.ScreenUpdating = False

Workbooks.Add
With ActiveWorkbook
.Sheets(1).[a1] = Environ("UserName")& now
.SendMail Recipients:=""
.Close False
End With
End Sub

'--
'lSteph

StDonat a écrit :
Désolé mais je ne comprends pas ! Même en relisant tout tes post!!

"LSteph" wrote:

puisque tu ne considère qu'un bout de que j'ai écrit, lis le bien:

>Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
>sans API

et c'est beaucoup plus simple à écrire dans ta macro

....de rien ce fut un plaisir!

StDonat a écrit :
Environ("UserName") ne me renvoie pas le nom de celui qui a la main sur le
fichier...

"lSteph" wrote:

Bonjour,

....c'est parti tout seul, j'ai tricoté avec mon clavier
Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
sans API

Sinon lorsque tu ouvre un doc ou xls , si préalablement sur les postes
(Onglet Outil options ont été renseignés correctement), tu devrais
voir un message appara^tre, le fichier machin est déjà ouvert par
truc bidule...

...je reviens

--
lSteph




On 8 août, 15:32, StDonat wrote:
J'ai bien le meme fonctionnement que toi, mais je voudrais récuperer par
macro le nom de l'utilisateur!!

"Mario Limoges" a écrit :

De mon coté au travail (nous avons un tres gros réseau, plus de 1000
employés) si un employé ouvre un fichier office qui se trouve enregistré sur
le serveur pour le modifier et qu'un deuxieme le rouvre, ce message ce fait
automatiquement, il ne peut donc que l'ouvrire qu'en lecture seul tant que
le premier l'ayant ouvert y travail. Nous avons alors l'option de l'ouvrire
en lecture seul, ou d'être aviser lorsque le fichier deviendra disponible en
lecture - écriture une fois que le premier employé l'aura fermé.
"StDonat" a écrit dans le message de
news: CE45FF40-144F-4E3B-BFC6-84E04F03E__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
Merci Mario de cette réponse rapide mais je ne comprend ou je dois
préciser
le nom du fichier "toto.xls" ?
Car en fait je voudrais a partir d'un fichier "titi.xls" qu'il y ai une
macro qui ouvre un fichier "toto.xls" a l'aide de la commande:
Workbooks.Open filename:="o:toto.xls" MAIS avant de l'ouvrir je voudrais
verifier que toto n'est pas déja utilisé et si c'est le cas avoir un
msgbox
qui me dise "Toto.xls est en lecture seul car utilisé par M.DUPOND"....
Merci désolé si je n'ai pas eté clair au début
"Mario Limoges" a écrit :
Bonjour!
vous disiez
Bonjour à tous et à toutes!
J'ai bo chercher, mais je ne trouve pas!
Il y a bien isabelle qui a mis quelques chose dans le genre sur
ExcelLabo
mais je n'arrive pas a le faire fonctionner!
Je veux par macro, connaitre le nom de la personne qui utilise un
fichier(non partagé) disponible sur un reseau.
Cela doit etre possible car lorsque j'ouvre le fichier Excel me dis
qu'il
est en lecture seul car utilisé par "toto"..
Merci de votre aide


la fonction GetMyName retourne l'identification du logg de l'utilisateur
sur
le réseau
Private Declare Function GetComputername Lib "kernel32" Alias
"GetComputernameA" (ByVal lpBuffer As String, nSize As Long) As Long
Option Explicit
'Déclaration des fonctions API
Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function GetMyName() As String
'Trouve le nom de l'utilisateur qui a demandé l'exécution du programme
GAPE
Dim Utilisateur As String
Dim X As Integer
Utilisateur = Space(10)
Call GetUserName(Utilisateur, 10)
X = Len(Utilisateur)
GetMyName = Mid(Utilisateur, 1, Len(Utilisateur) - 1)
End Function
















Avatar
Mario Limoges
tu as du code VBA ?? que tu fais rouler sur le chiffrier

"StDonat" a écrit dans le message de
news:
Désolé mais je ne comprends pas ! Même en relisant tout tes post!!

"LSteph" wrote:

puisque tu ne considère qu'un bout de que j'ai écrit, lis le bien:

>Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
>sans API

et c'est beaucoup plus simple à écrire dans ta macro

....de rien ce fut un plaisir!

StDonat a écrit :
> Environ("UserName") ne me renvoie pas le nom de celui qui a la main sur
> le
> fichier...
>
> "lSteph" wrote:
>
>> Bonjour,
>>
>> ....c'est parti tout seul, j'ai tricoté avec mon clavier
>> Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
>> sans API
>>
>> Sinon lorsque tu ouvre un doc ou xls , si préalablement sur les postes
>> (Onglet Outil options ont été renseignés correctement), tu devrais
>> voir un message appara^tre, le fichier machin est déjà ouvert par
>> truc bidule...
>>
>> ...je reviens
>>
>> --
>> lSteph
>>
>>
>>
>>
>> On 8 août, 15:32, StDonat wrote:
>>> J'ai bien le meme fonctionnement que toi, mais je voudrais récuperer
>>> par
>>> macro le nom de l'utilisateur!!
>>>
>>> "Mario Limoges" a écrit :
>>>
>>>> De mon coté au travail (nous avons un tres gros réseau, plus de 1000
>>>> employés) si un employé ouvre un fichier office qui se trouve
>>>> enregistré sur
>>>> le serveur pour le modifier et qu'un deuxieme le rouvre, ce message
>>>> ce fait
>>>> automatiquement, il ne peut donc que l'ouvrire qu'en lecture seul
>>>> tant que
>>>> le premier l'ayant ouvert y travail. Nous avons alors l'option de
>>>> l'ouvrire
>>>> en lecture seul, ou d'être aviser lorsque le fichier deviendra
>>>> disponible en
>>>> lecture - écriture une fois que le premier employé l'aura fermé.
>>>> "StDonat" a écrit dans le
>>>> message de
>>>> news:
>>>> CE45FF40-144F-4E3B-BFC6-84E04F03E__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
>>>>> Merci Mario de cette réponse rapide mais je ne comprend ou je dois
>>>>> préciser
>>>>> le nom du fichier "toto.xls" ?
>>>>> Car en fait je voudrais a partir d'un fichier "titi.xls" qu'il y ai
>>>>> une
>>>>> macro qui ouvre un fichier "toto.xls" a l'aide de la commande:
>>>>> Workbooks.Open filename:="o:toto.xls" MAIS avant de l'ouvrir je
>>>>> voudrais
>>>>> verifier que toto n'est pas déja utilisé et si c'est le cas avoir
>>>>> un
>>>>> msgbox
>>>>> qui me dise "Toto.xls est en lecture seul car utilisé par
>>>>> M.DUPOND"....
>>>>> Merci désolé si je n'ai pas eté clair au début
>>>>> "Mario Limoges" a écrit :
>>>>>> Bonjour!
>>>>>> vous disiez
>>>>>>> Bonjour à tous et à toutes!
>>>>>>> J'ai bo chercher, mais je ne trouve pas!
>>>>>>> Il y a bien isabelle qui a mis quelques chose dans le genre sur
>>>>>>> ExcelLabo
>>>>>>> mais je n'arrive pas a le faire fonctionner!
>>>>>>> Je veux par macro, connaitre le nom de la personne qui utilise un
>>>>>>> fichier(non partagé) disponible sur un reseau.
>>>>>>> Cela doit etre possible car lorsque j'ouvre le fichier Excel me
>>>>>>> dis
>>>>>>> qu'il
>>>>>>> est en lecture seul car utilisé par "toto"..
>>>>>>> Merci de votre aide
>>>>>> la fonction GetMyName retourne l'identification du logg de
>>>>>> l'utilisateur
>>>>>> sur
>>>>>> le réseau
>>>>>> Private Declare Function GetComputername Lib "kernel32" Alias
>>>>>> "GetComputernameA" (ByVal lpBuffer As String, nSize As Long) As
>>>>>> Long
>>>>>> Option Explicit
>>>>>> 'Déclaration des fonctions API
>>>>>> Declare Function GetUserName Lib "advapi32.dll" Alias _
>>>>>> "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
>>>>>> Public Function GetMyName() As String
>>>>>> 'Trouve le nom de l'utilisateur qui a demandé l'exécution du
>>>>>> programme
>>>>>> GAPE
>>>>>> Dim Utilisateur As String
>>>>>> Dim X As Integer
>>>>>> Utilisateur = Space(10)
>>>>>> Call GetUserName(Utilisateur, 10)
>>>>>> X = Len(Utilisateur)
>>>>>> GetMyName = Mid(Utilisateur, 1, Len(Utilisateur) - 1)
>>>>>> End Function
>>





Avatar
LSteph
http://cjoint.com/?iiwutxmpIg

active les macros
Avatar
StDonat
Merci ça je savais faire mais cela ne réponds pas a mon probleme!!
Car je voudrais automatisé l'envoi d'un message à Mr DUPOND qui utilise le
fichiers toto.xls afin de lui demander de le liberer, titi.xls bouclera
ensuite sur open tant que le fichier TOTO n'est pas libre....
donc recevoir un mail me disant que le fichier est utilisé ne me sert pas a
grand chose si ce n'est encombre ma boite pour rien!!

"LSteph" a écrit :

ok!essaie ceci



Sub test()
MsgBox Environ("UserName")
End Sub

imagine maintenant que ce soit un autre qui ouvre et
qu'il y ait cet autre code en exemple dans thisworkbook
donc dans l'exemple remplace l'email de yoyo par le tien:


Private Sub Workbook_Open()
Application.ScreenUpdating = False

Workbooks.Add
With ActiveWorkbook
..Sheets(1).[a1] = Environ("UserName")& now
..SendMail Recipients:=""
..Close False
End With
End Sub

'--
'lSteph

StDonat a écrit :
> Désolé mais je ne comprends pas ! Même en relisant tout tes post!!
>
> "LSteph" wrote:
>
>> puisque tu ne considère qu'un bout de que j'ai écrit, lis le bien:
>>
>> >Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
>> >sans API
>>
>> et c'est beaucoup plus simple à écrire dans ta macro
>>
>> ....de rien ce fut un plaisir!
>>
>> StDonat a écrit :
>>> Environ("UserName") ne me renvoie pas le nom de celui qui a la main sur le
>>> fichier...
>>>
>>> "lSteph" wrote:
>>>
>>>> Bonjour,
>>>>
>>>> ....c'est parti tout seul, j'ai tricoté avec mon clavier
>>>> Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
>>>> sans API
>>>>
>>>> Sinon lorsque tu ouvre un doc ou xls , si préalablement sur les postes
>>>> (Onglet Outil options ont été renseignés correctement), tu devrais
>>>> voir un message appara^tre, le fichier machin est déjà ouvert par
>>>> truc bidule...
>>>>
>>>> ...je reviens
>>>>
>>>> --
>>>> lSteph
>>>>
>>>>
>>>>
>>>>
>>>> On 8 août, 15:32, StDonat wrote:
>>>>> J'ai bien le meme fonctionnement que toi, mais je voudrais récuperer par
>>>>> macro le nom de l'utilisateur!!
>>>>>
>>>>> "Mario Limoges" a écrit :
>>>>>
>>>>>> De mon coté au travail (nous avons un tres gros réseau, plus de 1000
>>>>>> employés) si un employé ouvre un fichier office qui se trouve enregistré sur
>>>>>> le serveur pour le modifier et qu'un deuxieme le rouvre, ce message ce fait
>>>>>> automatiquement, il ne peut donc que l'ouvrire qu'en lecture seul tant que
>>>>>> le premier l'ayant ouvert y travail. Nous avons alors l'option de l'ouvrire
>>>>>> en lecture seul, ou d'être aviser lorsque le fichier deviendra disponible en
>>>>>> lecture - écriture une fois que le premier employé l'aura fermé.
>>>>>> "StDonat" a écrit dans le message de
>>>>>> news: CE45FF40-144F-4E3B-BFC6-84E04F03E__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
>>>>>>> Merci Mario de cette réponse rapide mais je ne comprend ou je dois
>>>>>>> préciser
>>>>>>> le nom du fichier "toto.xls" ?
>>>>>>> Car en fait je voudrais a partir d'un fichier "titi.xls" qu'il y ai une
>>>>>>> macro qui ouvre un fichier "toto.xls" a l'aide de la commande:
>>>>>>> Workbooks.Open filename:="o:toto.xls" MAIS avant de l'ouvrir je voudrais
>>>>>>> verifier que toto n'est pas déja utilisé et si c'est le cas avoir un
>>>>>>> msgbox
>>>>>>> qui me dise "Toto.xls est en lecture seul car utilisé par M.DUPOND"....
>>>>>>> Merci désolé si je n'ai pas eté clair au début
>>>>>>> "Mario Limoges" a écrit :
>>>>>>>> Bonjour!
>>>>>>>> vous disiez
>>>>>>>>> Bonjour à tous et à toutes!
>>>>>>>>> J'ai bo chercher, mais je ne trouve pas!
>>>>>>>>> Il y a bien isabelle qui a mis quelques chose dans le genre sur
>>>>>>>>> ExcelLabo
>>>>>>>>> mais je n'arrive pas a le faire fonctionner!
>>>>>>>>> Je veux par macro, connaitre le nom de la personne qui utilise un
>>>>>>>>> fichier(non partagé) disponible sur un reseau.
>>>>>>>>> Cela doit etre possible car lorsque j'ouvre le fichier Excel me dis
>>>>>>>>> qu'il
>>>>>>>>> est en lecture seul car utilisé par "toto"..
>>>>>>>>> Merci de votre aide
>>>>>>>> la fonction GetMyName retourne l'identification du logg de l'utilisateur
>>>>>>>> sur
>>>>>>>> le réseau
>>>>>>>> Private Declare Function GetComputername Lib "kernel32" Alias
>>>>>>>> "GetComputernameA" (ByVal lpBuffer As String, nSize As Long) As Long
>>>>>>>> Option Explicit
>>>>>>>> 'Déclaration des fonctions API
>>>>>>>> Declare Function GetUserName Lib "advapi32.dll" Alias _
>>>>>>>> "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
>>>>>>>> Public Function GetMyName() As String
>>>>>>>> 'Trouve le nom de l'utilisateur qui a demandé l'exécution du programme
>>>>>>>> GAPE
>>>>>>>> Dim Utilisateur As String
>>>>>>>> Dim X As Integer
>>>>>>>> Utilisateur = Space(10)
>>>>>>>> Call GetUserName(Utilisateur, 10)
>>>>>>>> X = Len(Utilisateur)
>>>>>>>> GetMyName = Mid(Utilisateur, 1, Len(Utilisateur) - 1)
>>>>>>>> End Function



Avatar
LSteph
Bonjour,

> Car je voudrais automatisé l'envoi d'un message à Mr DUPOND
Quelquechose ne me semble pas logique dans ta demande, à quel moment
depuis l'ouverture par l'autre utilisateur, il n'y a eu aucun évènement??
> ... afin de lui demander de le liberer
Si c'est pour cela sans besoin de macro relis les posts précédents
office fais cela très bien, tu veux ouvrir le fichier et qu'il est pris
t'envoie un email à l'utilisateur ou tu lui téléphone car s'il a la tête
dans le fichier il ne regarde sans doute pas ses mails et ne me dis pas
que tu peux pas avoir son nom. Si tu as fini par comprendre ce que je
t'explquais par macro.
Cela te permet de l'avoir sous réserve d'avoir pris des dispositions
préalables, que tu choisisse la réception d'un email(c'est là qu'il
servirait) ou autre c'est ton choix à toi d'adapter,si en plus tu sais
faire, tout va bien!
Sinon,en dehors du UserName préalablement donc le login de session de
l'utilisateur, je ne vois pas où et comment il viendrait fournir un nom
quand il ouvre un fichier.


--
lSteph




StDonat a écrit :
Merci ça je savais faire mais cela ne réponds pas a mon probleme!!
Car je voudrais automatisé l'envoi d'un message à Mr DUPOND qui utilise le
fichiers toto.xls afin de lui demander de le liberer, titi.xls bouclera
ensuite sur open tant que le fichier TOTO n'est pas libre....
donc recevoir un mail me disant que le fichier est utilisé ne me sert pas a
grand chose si ce n'est encombre ma boite pour rien!!

"LSteph" a écrit :

ok!essaie ceci



Sub test()
MsgBox Environ("UserName")
End Sub

imagine maintenant que ce soit un autre qui ouvre et
qu'il y ait cet autre code en exemple dans thisworkbook
donc dans l'exemple remplace l'email de yoyo par le tien:


Private Sub Workbook_Open()
Application.ScreenUpdating = False

Workbooks.Add
With ActiveWorkbook
..Sheets(1).[a1] = Environ("UserName")& now
..SendMail Recipients:=""
..Close False
End With
End Sub

'--
'lSteph

StDonat a écrit :
Désolé mais je ne comprends pas ! Même en relisant tout tes post!!

"LSteph" wrote:

puisque tu ne considère qu'un bout de que j'ai écrit, lis le bien:

>Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
>sans API

et c'est beaucoup plus simple à écrire dans ta macro

....de rien ce fut un plaisir!

StDonat a écrit :
Environ("UserName") ne me renvoie pas le nom de celui qui a la main sur le
fichier...

"lSteph" wrote:

Bonjour,

....c'est parti tout seul, j'ai tricoté avec mon clavier
Environ("UserName") te renvoie le nom de l'utilisateur plus simplement
sans API

Sinon lorsque tu ouvre un doc ou xls , si préalablement sur les postes
(Onglet Outil options ont été renseignés correctement), tu devrais
voir un message appara^tre, le fichier machin est déjà ouvert par
truc bidule...

...je reviens

--
lSteph




On 8 août, 15:32, StDonat wrote:
J'ai bien le meme fonctionnement que toi, mais je voudrais récuperer par
macro le nom de l'utilisateur!!

"Mario Limoges" a écrit :

De mon coté au travail (nous avons un tres gros réseau, plus de 1000
employés) si un employé ouvre un fichier office qui se trouve enregistré sur
le serveur pour le modifier et qu'un deuxieme le rouvre, ce message ce fait
automatiquement, il ne peut donc que l'ouvrire qu'en lecture seul tant que
le premier l'ayant ouvert y travail. Nous avons alors l'option de l'ouvrire
en lecture seul, ou d'être aviser lorsque le fichier deviendra disponible en
lecture - écriture une fois que le premier employé l'aura fermé.
"StDonat" a écrit dans le message de
news: CE45FF40-144F-4E3B-BFC6-84E04F03E__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
Merci Mario de cette réponse rapide mais je ne comprend ou je dois
préciser
le nom du fichier "toto.xls" ?
Car en fait je voudrais a partir d'un fichier "titi.xls" qu'il y ai une
macro qui ouvre un fichier "toto.xls" a l'aide de la commande:
Workbooks.Open filename:="o:toto.xls" MAIS avant de l'ouvrir je voudrais
verifier que toto n'est pas déja utilisé et si c'est le cas avoir un
msgbox
qui me dise "Toto.xls est en lecture seul car utilisé par M.DUPOND"....
Merci désolé si je n'ai pas eté clair au début
"Mario Limoges" a écrit :
Bonjour!
vous disiez
Bonjour à tous et à toutes!
J'ai bo chercher, mais je ne trouve pas!
Il y a bien isabelle qui a mis quelques chose dans le genre sur
ExcelLabo
mais je n'arrive pas a le faire fonctionner!
Je veux par macro, connaitre le nom de la personne qui utilise un
fichier(non partagé) disponible sur un reseau.
Cela doit etre possible car lorsque j'ouvre le fichier Excel me dis
qu'il
est en lecture seul car utilisé par "toto"..
Merci de votre aide


la fonction GetMyName retourne l'identification du logg de l'utilisateur
sur
le réseau
Private Declare Function GetComputername Lib "kernel32" Alias
"GetComputernameA" (ByVal lpBuffer As String, nSize As Long) As Long
Option Explicit
'Déclaration des fonctions API
Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function GetMyName() As String
'Trouve le nom de l'utilisateur qui a demandé l'exécution du programme
GAPE
Dim Utilisateur As String
Dim X As Integer
Utilisateur = Space(10)
Call GetUserName(Utilisateur, 10)
X = Len(Utilisateur)
GetMyName = Mid(Utilisateur, 1, Len(Utilisateur) - 1)
End Function




















Avatar
Philippe.R
Bonjour,
Regarde cette procédure sur le site de Frédéric Sigonneau ; tu peux y
trouver de quoi détecter si le fichier est ouvert ou pas.
http://frederic.sigonneau.free.fr/code/Fichiers/DetruireTousFichiersDossier.txt
Dans la foulée tu pourrais, connaissant l'identité de l'utilisateur (en
t'inspirant par exemple de ce que suggère lSteph : stocker l'information
dans le classeur lui même ou un autre), en la récupérant lors de
l'ouverture, lui envoyer le courriel que tu souhaites.
Pour lire les informations dans un classeur sans l'ouvrir :
http://frederic.sigonneau.free.fr/code/Ado/ADOLireClasseurFerme.txt
Tu pourrais même stocker aussi le jour et l'heure d'ouverture de manière à
n'envoyer l'apostrophe qu'après un certain délai, histoire de ne pas
demander la fermeture à quelqu'un qui vient d'ouvrir le classeur.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"StDonat" a écrit dans le message de
news:
Bonjour à tous et à toutes!
J'ai bo chercher, mais je ne trouve pas!
Il y a bien isabelle qui a mis quelques chose dans le genre sur ExcelLabo
mais je n'arrive pas a le faire fonctionner!
Je veux par macro, connaitre le nom de la personne qui utilise un
fichier(non partagé) disponible sur un reseau.
Cela doit etre possible car lorsque j'ouvre le fichier Excel me dis qu'il
est en lecture seul car utilisé par "toto"..
Merci de votre aide


Avatar
Modeste
Bonsour® StDonat avec ferveur ;o))) vous nous disiez :

Merci ça je savais faire mais cela ne réponds pas a mon probleme!!
Car je voudrais automatisé l'envoi d'un message à Mr DUPOND qui
utilise le fichiers toto.xls afin de lui demander de le liberer,
titi.xls bouclera ensuite sur open tant que le fichier TOTO n'est pas
libre....
donc recevoir un mail me disant que le fichier est utilisé ne me sert
pas a grand chose si ce n'est encombre ma boite pour rien!!



dans ce cas l'encombrement sera dans la boite de l'utilisateur !!!
ce qui ne change rien à la problématique ...
l'utilisateur peut etre en réunion, appelé précipitament ailleurs, parti faire une pause...

les solutions graduées :
- rappel et application stricte des conditions d'utilisation !!!
principes du travail collaboratif
- un bon coup de pied au c.. !!!
la répression
- fermeture automatique si non réponse à un message épisodique émit par une proc du classeur concerné
la dictature




--
--
@+
;o)))
Avatar
LSteph
;o))

Modeste a écrit :
Bonsour® StDonat avec ferveur ;o))) vous nous disiez :

Merci ça je savais faire mais cela ne réponds pas a mon probleme!!
Car je voudrais automatisé l'envoi d'un message à Mr DUPOND qui
utilise le fichiers toto.xls afin de lui demander de le liberer,
titi.xls bouclera ensuite sur open tant que le fichier TOTO n'est pas
libre....
donc recevoir un mail me disant que le fichier est utilisé ne me sert
pas a grand chose si ce n'est encombre ma boite pour rien!!



dans ce cas l'encombrement sera dans la boite de l'utilisateur !!!
ce qui ne change rien à la problématique ...
l'utilisateur peut etre en réunion, appelé précipitament ailleurs, parti faire une pause...

les solutions graduées :
- rappel et application stricte des conditions d'utilisation !!!
principes du travail collaboratif
- un bon coup de pied au c.. !!!
la répression
- fermeture automatique si non réponse à un message épisodique émit par une proc du classeur concerné
la dictature



Avatar
StDonat
Merci à tous pour toutes ses réponses.
Mais si quelqu'un trouve comment interroger le gestionnaire de reseau comme
le propose Papyjac, je reste preneur!

Au plasir sur se forum génial!!

"Philippe.R" wrote:

Bonjour,
Regarde cette procédure sur le site de Frédéric Sigonneau ; tu peux y
trouver de quoi détecter si le fichier est ouvert ou pas.
http://frederic.sigonneau.free.fr/code/Fichiers/DetruireTousFichiersDossier.txt
Dans la foulée tu pourrais, connaissant l'identité de l'utilisateur (en
t'inspirant par exemple de ce que suggère lSteph : stocker l'information
dans le classeur lui même ou un autre), en la récupérant lors de
l'ouverture, lui envoyer le courriel que tu souhaites.
Pour lire les informations dans un classeur sans l'ouvrir :
http://frederic.sigonneau.free.fr/code/Ado/ADOLireClasseurFerme.txt
Tu pourrais même stocker aussi le jour et l'heure d'ouverture de manière à
n'envoyer l'apostrophe qu'après un certain délai, histoire de ne pas
demander la fermeture à quelqu'un qui vient d'ouvrir le classeur.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"StDonat" a écrit dans le message de
news:
> Bonjour à tous et à toutes!
> J'ai bo chercher, mais je ne trouve pas!
> Il y a bien isabelle qui a mis quelques chose dans le genre sur ExcelLabo
> mais je n'arrive pas a le faire fonctionner!
> Je veux par macro, connaitre le nom de la personne qui utilise un
> fichier(non partagé) disponible sur un reseau.
> Cela doit etre possible car lorsque j'ouvre le fichier Excel me dis qu'il
> est en lecture seul car utilisé par "toto"..
> Merci de votre aide




1 2