Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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
Mario Limoges
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
StDonat
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
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:
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
StDonat
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:
> 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
et bien moi dans ce cas j'ai mis une feuille cachée et protégé par mot de
passe (appelé simplement 'Feuil1') dans le Workbook sur laquel par code VBA
en appelant la sub 'ecriture', je récupère la date, l'heure et le nom de
l'employé apportant des modifs.

Sub ecriture()
Dim derniereCelulleUrilise As Integer
Dim DateConsulte As Date
Dim heureConsulte
'Dim trieffectu As Boolean
'Application

DateConsulte = Date
heureConsulte = Time
derniereCelulleUrilise = Sheets("Feuil1").Cells.Find("*", [c150], , ,
xlByRows, xlPrevious).Row
'Écriture des informations recherchés
Application.ScreenUpdating = False
Sheets("Feuil1").Unprotect ("mahalia")
Sheets("Feuil1").Cells(derniereCelulleUrilise, 4).Offset(1, 0) = GetMyName
Sheets("Feuil1").Cells(derniereCelulleUrilise, 4).Offset(1, 1) =
DateConsulte
Sheets("Feuil1").Cells(derniereCelulleUrilise, 4).Offset(1, 2) =
heureConsulte
If tri = True Then
Sheets("Feuil1").Cells(derniereCelulleUrilise, 4).Offset(1, 3) = "oui"
Else
Sheets("Feuil1").Cells(derniereCelulleUrilise, 4).Offset(1, 3) = "non"
End If
Application.ScreenUpdating = True
Sheets("Feuil1").Protect ("mahalia")
If tri = True Then
ThisWorkbook.Save
End If
End Sub

Ca fonctionne tres bien !!

"StDonat" a écrit dans le message de
news:
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:
> 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,
par macro plus simplement satu peux utiliser
Envir
oui, tu peux l'avoir sans macro pour autant faut-il que ce soit

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

"Mario Limoges" a écrit :

> De mon coté au travail (nous avons un tres gros réseau, plus de 100 0
> employés) si un employé ouvre un fichier office qui se trouve enreg istré 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'ou vrire
> en lecture seul, ou d'être aviser lorsque le fichier deviendra dispon ible 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 u ne
> > 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 vo udrais
> > 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 di s
> >> > qu'il
> >> > est en lecture seul car utilisé par "toto"..
> >> > Merci de votre aide

> >> la fonction GetMyName retourne l'identification du logg de l'utilisa teur
> >> 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 pro gramme
> >> 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,

....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 pa r
macro le nom de l'utilisateur!!

"Mario Limoges" a écrit :

> De mon coté au travail (nous avons un tres gros réseau, plus de 100 0
> employés) si un employé ouvre un fichier office qui se trouve enreg istré 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'ou vrire
> en lecture seul, ou d'être aviser lorsque le fichier deviendra dispon ible 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 u ne
> > 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 vo udrais
> > 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 di s
> >> > qu'il
> >> > est en lecture seul car utilisé par "toto"..
> >> > Merci de votre aide

> >> la fonction GetMyName retourne l'identification du logg de l'utilisa teur
> >> 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 pro gramme
> >> 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,

il sera donc plus facile de demander à chacun (ou celui qui parametre
les postes) de bien vouloir laisser son nom de User dans les options
des outils office.

Si on veut être un peu plus sournois faudra tomber sur des
utilisateurs un peu sympas, qui activent les macros à l'ouverture
, ou prendre les mesures indiquées sur ce forum pour les y
contraindre.
Si t'as envie de recevoir autant de messages que d'ouvertures coller
dans le Workbook_Open un sendmail d'une feuille ajoutée au classeur
ou tu colles le Environ("UserName")

Mauvais conseil encore pire : On peut aussi coller un classeur en
plein mileu du réseau et l'appeler curiosité.xls
qui viendra mettre le Environ("username") dans les options de ceux qui
l'ouvrent ou consignera le nom dans une feuille cachée. (80% garanti)
et la grosse gaffe si c'est le boss qui se fait pièger!

@+

lSteph

Faut-il encore que les login correspondent ( c'est souvent le cas aux
noms des utilisateurs).

On 8 août, 16:18, 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 1 000
> > employés) si un employé ouvre un fichier office qui se trouve enr egistré sur
> > le serveur pour le modifier et qu'un deuxieme le rouvre, ce message c e fait
> > automatiquement, il ne peut donc que l'ouvrire qu'en lecture seul tan t 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 disp onible en
> > lecture - écriture une fois que le premier employé l'aura fermé .

> > "StDonat" a écrit dans le messa ge de
> >news: CE45FF40-144F-4E3B-BFC6-84E04F03E__BEGIN_MASK_n#9g02mG7!__...__E ND_MASK_i?a63jfAD$__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$ osoft.com...
> > > Merci Mario de cette réponse rapide mais je ne comprend ou je doi s
> > > 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 avo ir un
> > > msgbox
> > > qui me dise "Toto.xls est en lecture seul car utilisé par M.DUPON D"...
> > > 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 u n
> > >> > 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'utili sateur
> > >> sur
> > >> le réseau

> > >> Private Declare Function GetComputername Lib "kernel32" Alias
> > >> "GetComputernameA" (ByVal lpBuffer As String, nSize As Long) As Lo ng

> > >> 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 p rogramme
> > >> 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
StDonat
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
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













1 2