Bonjour
J'ai un fichier en partage, je souhaite que si le fichier est déjà ouvert
par un utilisateur, si un autre utilisateur ouvre le fichier, il y ait un
msgbox du genre "le fichier et déjà ouvert" puis après clic sur le Ok du
msgbox, cela ferme le fichier ouvert par le 2ème utilisateur
Je vous remercie beaucoup
Didier
Je te remercie beaucoup Denis Je vais tester au travail et te tiens au courant A très bientôt Didier
"michdenis" a écrit dans le message de news: O%
Bonjour Didier,
As-tu essayé quelque chose de simple comme ceci :
Dans le ThisWorkbook de ton classeur :
Comme je ne suis pas dans un environnement réseau, il m'est difficile de tester ce type de requête ....
'----------------------- Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly = True Then MsgBox "Ce fichier est déjà ouvert." & vbCrLf & _ "Attendez un moment que l'usager est refermé ce fichier." ThisWorkbook.Close False End If
End Sub '-------------------------------
Salutations!
"Didier Novarin" a écrit dans le message de news: Bonsoir Denis J'ai un mes d'erreur #Valeur dans la cellule, je ne vois pas très bien où je dois l'intégrer Merci Didier
"michdenis" a écrit dans le message de news:
Bonjour Didier,
Il y a cette fonction qui détecte si un fichier partagé est déjà ouvert :
Si à l'ouverture du fichier partagé, tu vérifies si ce dernier est déjà ouvert, si la fonction retourne "vrai", tu le fermes en incluant dans ta procédure un message explicatif....
'----------------------------------------- '==================== >> ' This function checks to see if a file is open or not. If the file is ' already open, it returns True. If the file is not open, it returns ' False. Otherwise, a run-time error will occur because there is ' some other problem accessing the file.
Function IsFileOpen(filename As String) 'auteur inconnu, mpep Dim filenum As Integer, errnum As Integer
On Error Resume Next ' Turn error checking off. filenum = FreeFile() ' Get a free file number. ' Attempt to open the file and lock it. Open filename For Input Lock Read As #filenum Close filenum ' Close the file. errnum = Err ' Save the error number that occurred. On Error GoTo 0 ' Turn error checking back on.
' Check to see which error occurred. Select Case errnum
' No error occurred. ' File is NOT already open by another user. Case 0 IsFileOpen = False
' Error number for "Permission Denied." ' File is already opened by another user. Case 70 IsFileOpen = True
' Another error occurred, file is being queried. Case Else Error errnum End Select
End Function '-----------------------------------------
Salutations!
"Didier Novarin" a écrit dans le message de news: Bonjour J'ai un fichier en partage, je souhaite que si le fichier est déjà ouvert par un utilisateur, si un autre utilisateur ouvre le fichier, il y ait un msgbox du genre "le fichier et déjà ouvert" puis après clic sur le Ok du msgbox, cela ferme le fichier ouvert par le 2ème utilisateur Je vous remercie beaucoup Didier
Je te remercie beaucoup Denis
Je vais tester au travail et te tiens au courant
A très bientôt
Didier
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
O%23sSKbMNGHA.344@TK2MSFTNGP11.phx.gbl...
Bonjour Didier,
As-tu essayé quelque chose de simple comme ceci :
Dans le ThisWorkbook de ton classeur :
Comme je ne suis pas dans un environnement réseau,
il m'est difficile de tester ce type de requête ....
'-----------------------
Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly = True Then
MsgBox "Ce fichier est déjà ouvert." & vbCrLf & _
"Attendez un moment que l'usager est refermé ce fichier."
ThisWorkbook.Close False
End If
End Sub
'-------------------------------
Salutations!
"Didier Novarin" <didier.n@club-internet.fr> a écrit dans le message de
news: usyfKTLNGHA.2636@TK2MSFTNGP14.phx.gbl...
Bonsoir Denis
J'ai un mes d'erreur #Valeur
dans la cellule, je ne vois pas très bien où je dois l'intégrer
Merci
Didier
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
uAXKRmKNGHA.2012@TK2MSFTNGP14.phx.gbl...
Bonjour Didier,
Il y a cette fonction qui détecte si un fichier partagé est déjà ouvert :
Si à l'ouverture du fichier partagé, tu vérifies si ce dernier est déjà
ouvert,
si la fonction retourne "vrai", tu le fermes en incluant dans ta
procédure
un message explicatif....
'-----------------------------------------
'==================== >> ' This function checks to see if a file is open or not. If the file is
' already open, it returns True. If the file is not open, it returns
' False. Otherwise, a run-time error will occur because there is
' some other problem accessing the file.
Function IsFileOpen(filename As String)
'auteur inconnu, mpep
Dim filenum As Integer, errnum As Integer
On Error Resume Next ' Turn error checking off.
filenum = FreeFile() ' Get a free file number.
' Attempt to open the file and lock it.
Open filename For Input Lock Read As #filenum
Close filenum ' Close the file.
errnum = Err ' Save the error number that occurred.
On Error GoTo 0 ' Turn error checking back on.
' Check to see which error occurred.
Select Case errnum
' No error occurred.
' File is NOT already open by another user.
Case 0
IsFileOpen = False
' Error number for "Permission Denied."
' File is already opened by another user.
Case 70
IsFileOpen = True
' Another error occurred, file is being queried.
Case Else
Error errnum
End Select
End Function
'-----------------------------------------
Salutations!
"Didier Novarin" <didier.n@club-internet.fr> a écrit dans le message de
news: Ol5eCfINGHA.2560@TK2MSFTNGP09.phx.gbl...
Bonjour
J'ai un fichier en partage, je souhaite que si le fichier est déjà ouvert
par un utilisateur, si un autre utilisateur ouvre le fichier, il y ait un
msgbox du genre "le fichier et déjà ouvert" puis après clic sur le Ok du
msgbox, cela ferme le fichier ouvert par le 2ème utilisateur
Je vous remercie beaucoup
Didier
Je te remercie beaucoup Denis Je vais tester au travail et te tiens au courant A très bientôt Didier
"michdenis" a écrit dans le message de news: O%
Bonjour Didier,
As-tu essayé quelque chose de simple comme ceci :
Dans le ThisWorkbook de ton classeur :
Comme je ne suis pas dans un environnement réseau, il m'est difficile de tester ce type de requête ....
'----------------------- Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly = True Then MsgBox "Ce fichier est déjà ouvert." & vbCrLf & _ "Attendez un moment que l'usager est refermé ce fichier." ThisWorkbook.Close False End If
End Sub '-------------------------------
Salutations!
"Didier Novarin" a écrit dans le message de news: Bonsoir Denis J'ai un mes d'erreur #Valeur dans la cellule, je ne vois pas très bien où je dois l'intégrer Merci Didier
"michdenis" a écrit dans le message de news:
Bonjour Didier,
Il y a cette fonction qui détecte si un fichier partagé est déjà ouvert :
Si à l'ouverture du fichier partagé, tu vérifies si ce dernier est déjà ouvert, si la fonction retourne "vrai", tu le fermes en incluant dans ta procédure un message explicatif....
'----------------------------------------- '==================== >> ' This function checks to see if a file is open or not. If the file is ' already open, it returns True. If the file is not open, it returns ' False. Otherwise, a run-time error will occur because there is ' some other problem accessing the file.
Function IsFileOpen(filename As String) 'auteur inconnu, mpep Dim filenum As Integer, errnum As Integer
On Error Resume Next ' Turn error checking off. filenum = FreeFile() ' Get a free file number. ' Attempt to open the file and lock it. Open filename For Input Lock Read As #filenum Close filenum ' Close the file. errnum = Err ' Save the error number that occurred. On Error GoTo 0 ' Turn error checking back on.
' Check to see which error occurred. Select Case errnum
' No error occurred. ' File is NOT already open by another user. Case 0 IsFileOpen = False
' Error number for "Permission Denied." ' File is already opened by another user. Case 70 IsFileOpen = True
' Another error occurred, file is being queried. Case Else Error errnum End Select
End Function '-----------------------------------------
Salutations!
"Didier Novarin" a écrit dans le message de news: Bonjour J'ai un fichier en partage, je souhaite que si le fichier est déjà ouvert par un utilisateur, si un autre utilisateur ouvre le fichier, il y ait un msgbox du genre "le fichier et déjà ouvert" puis après clic sur le Ok du msgbox, cela ferme le fichier ouvert par le 2ème utilisateur Je vous remercie beaucoup Didier