OVH Cloud OVH Cloud

Accés à une application

2 réponses
Avatar
Cyrille
Bonjour,
j'ai cr=E9e sous XL2000 (environnement Win2000)une=20
application constitu=E9e de 2 classeurs (on est sur un=20
r=E9seau). Le premier s'appelle Tables.xls et ne contient=20
que des donn=E9es. Le 2=E8me s'appelle Interface.xls et sert =E0=20
rappatrier des donn=E9es depuis Tables.xls et =E9galement =E0 en=20
envoyer. Lorsqu'un utilisateur veut utiliser mon appli, il=20
ouvre Inteface.xls et pilote ainsi l'application, suivant=20
les fonctionnalit=E9s d=E9velopp=E9es. Voil=E0 le probl=E8me : j'ai=20
parfois besoin (pour des raisons de maintenance) d'ouvrir=20
directement Tables.xls et de travailler dessus. Si =E0 ce=20
moment l=E0 un utilisateur ouvre Interface.xls et lance une=20
fonctionnalit=E9, le classeur plante (ca parait normal). Je=20
souhaiterais donc mettre en place une proc=E9dure qui=20
interdit a un utilisateur d'utiliser (voire d'ouvrir)=20
Interface si je suis en train de bosser sur Tables. Avez-
vous une id=E9e??
Merci d'avance pour votre aide (et bon week-end)
Cyrille

2 réponses

Avatar
Alain CROS
Bonjour

Cette fonction placée dans Interface.xls , appelée dans Workbook_Open avec comme paramètre le nom complet de Table.xls (nom +
chemin) devrait convenir.

Function IsFileOpen(filename As String)
Dim filenum As Integer, Errnum As Integer
On Error Resume Next
filenum = FreeFile()
Open filename For Input Lock Read As #filenum
Close filenum
Errnum = Err
On Error GoTo 0
Select Case Errnum
Case 0
IsFileOpen = False
Case 70
IsFileOpen = True
End Select
End Function

Alain CROS

"Cyrille" a écrit dans le message de news: 300801c4a23f$dfff8200$
Bonjour,
j'ai crée sous XL2000 (environnement Win2000)une
application constituée de 2 classeurs (on est sur un
réseau). Le premier s'appelle Tables.xls et ne contient
que des données. Le 2ème s'appelle Interface.xls et sert à
rappatrier des données depuis Tables.xls et également à en
envoyer. Lorsqu'un utilisateur veut utiliser mon appli, il
ouvre Inteface.xls et pilote ainsi l'application, suivant
les fonctionnalités développées. Voilà le problème : j'ai
parfois besoin (pour des raisons de maintenance) d'ouvrir
directement Tables.xls et de travailler dessus. Si à ce
moment là un utilisateur ouvre Interface.xls et lance une
fonctionnalité, le classeur plante (ca parait normal). Je
souhaiterais donc mettre en place une procédure qui
interdit a un utilisateur d'utiliser (voire d'ouvrir)
Interface si je suis en train de bosser sur Tables. Avez-
vous une idée??
Merci d'avance pour votre aide (et bon week-end)
Cyrille
Avatar
Philippe.R
Bonsoir Cyrille,
Regarde de ce côté :
http://frederic.sigonneau.free.fr/code/Feuilles/ClasseurPartageOuvert.txt
tu devrais pouvoir adapter le code à ton cas
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Cyrille" a écrit dans le message de
news:300801c4a23f$dfff8200$
Bonjour,
j'ai crée sous XL2000 (environnement Win2000)une
application constituée de 2 classeurs (on est sur un
réseau). Le premier s'appelle Tables.xls et ne contient
que des données. Le 2ème s'appelle Interface.xls et sert à
rappatrier des données depuis Tables.xls et également à en
envoyer. Lorsqu'un utilisateur veut utiliser mon appli, il
ouvre Inteface.xls et pilote ainsi l'application, suivant
les fonctionnalités développées. Voilà le problème : j'ai
parfois besoin (pour des raisons de maintenance) d'ouvrir
directement Tables.xls et de travailler dessus. Si à ce
moment là un utilisateur ouvre Interface.xls et lance une
fonctionnalité, le classeur plante (ca parait normal). Je
souhaiterais donc mettre en place une procédure qui
interdit a un utilisateur d'utiliser (voire d'ouvrir)
Interface si je suis en train de bosser sur Tables. Avez-
vous une idée??
Merci d'avance pour votre aide (et bon week-end)
Cyrille