C
Chris
Guest
Bonjour,
Je sais que le message a déjà été abordé mais je n'ai pu trouver réponse à mes questions.
Voici mon problème :
J'ai un fichier excel utilisant des macros et je veux qu'il soit modifiable par d'autres utilisateurs.
La fonction partage d'excel ne marche pas dans mon cas donc j'ai deux fichiers, un qui va sur chaque bureau de chaque utilisateur et l'autre sur le disque dur réseau accessible à tous.
En gros, mon principe est simple :
Quand un utilisateur accède au fichier qui est sur le disque dur réseau et bien, il l'ouvre écris dedans .. et pendant ce temps là, ce fichier est bloqué pour les autres utilisateurs, un message s'affiche : 'Le classeur demandé est en cours d'utilisation' et une fois que l'utilisateur a terminé, il ferme le fichier et il devient à nouveau accessible.
Voilà, cette méthode aurait été très bien, seulement voilà le problème :
L'utilisateur ouvre le fichier (qui est sur le réseau) écris dedans et au moment ou il sauvegarde (juste avant de le fermer) avec 'ActiveWorkbook.Save' et bien à ce moment là, un autre utilisateur peut ouvrir ce meme fichier et je ne veux pas !
Moi je veux que le fichier qui est sur le disque dur réseau soit vérouillé et qu'on ne puisse pas l'ouvrir tant que l'utilisateur qui travail dessus n'a pas finis, c'est à dire tant que l'utilisateur n'a pas fermé le fichier.
j'ai utilisé cette fonction là :
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
Case Else
On Error Resume Next
Error errnum
End Select
End Function
Elle marche très bien, si le fichier est ouvert, ça bloque l'accès mais si quelqu'un est en train de sauvegarder alors le fichier peut etre ouvert et ca me pose des problèmes !
Merci de votre aide,
Si vous voulez m'écrire, je suis joignable à cette adresse : windglide@gmail.com
Merci.
Chris.
Je sais que le message a déjà été abordé mais je n'ai pu trouver réponse à mes questions.
Voici mon problème :
J'ai un fichier excel utilisant des macros et je veux qu'il soit modifiable par d'autres utilisateurs.
La fonction partage d'excel ne marche pas dans mon cas donc j'ai deux fichiers, un qui va sur chaque bureau de chaque utilisateur et l'autre sur le disque dur réseau accessible à tous.
En gros, mon principe est simple :
Quand un utilisateur accède au fichier qui est sur le disque dur réseau et bien, il l'ouvre écris dedans .. et pendant ce temps là, ce fichier est bloqué pour les autres utilisateurs, un message s'affiche : 'Le classeur demandé est en cours d'utilisation' et une fois que l'utilisateur a terminé, il ferme le fichier et il devient à nouveau accessible.
Voilà, cette méthode aurait été très bien, seulement voilà le problème :
L'utilisateur ouvre le fichier (qui est sur le réseau) écris dedans et au moment ou il sauvegarde (juste avant de le fermer) avec 'ActiveWorkbook.Save' et bien à ce moment là, un autre utilisateur peut ouvrir ce meme fichier et je ne veux pas !
Moi je veux que le fichier qui est sur le disque dur réseau soit vérouillé et qu'on ne puisse pas l'ouvrir tant que l'utilisateur qui travail dessus n'a pas finis, c'est à dire tant que l'utilisateur n'a pas fermé le fichier.
j'ai utilisé cette fonction là :
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
Case Else
On Error Resume Next
Error errnum
End Select
End Function
Elle marche très bien, si le fichier est ouvert, ça bloque l'accès mais si quelqu'un est en train de sauvegarder alors le fichier peut etre ouvert et ca me pose des problèmes !
Merci de votre aide,
Si vous voulez m'écrire, je suis joignable à cette adresse : windglide@gmail.com
Merci.
Chris.