-----Message d'origine-----
Bonjour Cyrille
Tu peux t'inspirer de ceci :
Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly Then
MsgBox "Le classeur est utilisé actuellement.
Réessayez plus tard"
ThisWorkbook.Close
End If
End Sub
j-p
.
-----Message d'origine-----
Bonjour Cyrille
Tu peux t'inspirer de ceci :
Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly Then
MsgBox "Le classeur est utilisé actuellement.
Réessayez plus tard"
ThisWorkbook.Close
End If
End Sub
j-p
.
-----Message d'origine-----
Bonjour Cyrille
Tu peux t'inspirer de ceci :
Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly Then
MsgBox "Le classeur est utilisé actuellement.
Réessayez plus tard"
ThisWorkbook.Close
End If
End Sub
j-p
.
-----Message d'origine-----
Bonjour Cyrille;
Ce que tu demandes nécessite d'aller consulter la liste
des fichiers ouverts sur
le serveur avant l'ouverture du fichier proprement dit.
Je crois que cela suppose que tu aies les droits
Administrateur (à vérifier); je
m'explique:
Tu ne peux pas faire cela avec le fichier en question car
cette vérification est
faite par le système avant même l'ouverture du fichier
pour indiquer le fameux
message "... Notifier ... etc. L'astuce consiste donc à
faire cela dans un fichier
séparé, lequel sera chargé d'autoriser ou non l'ouverture
du fichier proprement
dit avant que ce fichier séparé s'auto referme.
Le lancement de ton fichier au moyen d'un fichier vbs
pourrait réaliser le même
travail.
Supposons que le fichier de vérification s'appelle
OpenMyFile.xls, dans le module
ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_Open()
Const NomClasseur$ = "EnCours.xls"
If Not FileIsopen(NomClasseur) Then
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
End If
If Application.Workbooks.Count > 1 Then
ThisWorkbook.Close False
Else
Application.Quit
End If
End Sub
Private Function FileIsopen(FileName$) As Boolean
On Error Resume Next
Dim FSO, Res
' //Nom du domaine/Nom du serveur
Set FSO = GetObject
("WinNT://Europtest/Serveur01/LanmanServer")
If (IsEmpty(FSO) = False) Then
For Each Res In FSO.resources
If (Not Res.User = "") And (Not Right(Res.User, 1) = "$")
Then
FileIsopen = (InStr(1, Res.Path, FileName, 1) > 0)
If FileIsopen Then Exit Function
End If
Next Res
End If
Set FSO = Nothing
End Function
Procédure où NomClasseur représente le nom du classeur
initial.
Enregistre ce classeur dans le même répertoire que le
classeur initial ou dans un
répertoire différent en adaptant la ligne:
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
et place la propriété de ce fichier en lecture seule
puisqu'aucune modification le
concernant n'y sera apporté et pour qu'il puisse être
ouvert par plusieurs et non
concerné par le fameux message ... Notifier... etc.
Si tu souhaites de l'aide pour faire la même chose avec
un fichier vbs, reviens à
la charge.
MP
"Cyrille" a écrit
dans le message de
news:583a01c47483$5de282c0$
Bonjour,
j'ai mis une appli Excel 2000 sur un lecteur réseau. Ce
classeur peut être accessible par n'importe qui mais
seulement par un utilisateur à la fois. Mon problème,
lorsque l'appli est déjà ouverte par un utilisateur, c'est
de ne pas donner la possibilité à un autre utilisateur
d'ouvrir le classeur en lecture seule. Je ne souhaite pas
non plus qu'une notification soit envoyé à l'utilisateur.
En résumé, le premier connecté sur l'appli peut
l'utiliser. Le second ne doit pas se voir proposer la
boite de dialogue l'informant que le classeur est utilisé
et qu'il peut soit l'ouvrir en lecture seule ou bien
recevoir une notification. Pour cette utilisateur là, il y
aura juste un message (inclus dans la propriété
Workbook_Open) lui indiquant que le classeur est oqp et
qu'il doit revenir + tard. Et là le classeur se ferme.
Connaissez-vous un moyen de supprimer cette boite de
dialogue??
A noter : la manip Outils/Partage du classeur/Permettre
une modification multi utilisateur... (si elle a
l'avantage de supprimer la boite de dial) ne me satisfait
pas car elle ne rend pas disponible le projet VBA.
Merci de votre aide :)
Cyrille
.
-----Message d'origine-----
Bonjour Cyrille;
Ce que tu demandes nécessite d'aller consulter la liste
des fichiers ouverts sur
le serveur avant l'ouverture du fichier proprement dit.
Je crois que cela suppose que tu aies les droits
Administrateur (à vérifier); je
m'explique:
Tu ne peux pas faire cela avec le fichier en question car
cette vérification est
faite par le système avant même l'ouverture du fichier
pour indiquer le fameux
message "... Notifier ... etc. L'astuce consiste donc à
faire cela dans un fichier
séparé, lequel sera chargé d'autoriser ou non l'ouverture
du fichier proprement
dit avant que ce fichier séparé s'auto referme.
Le lancement de ton fichier au moyen d'un fichier vbs
pourrait réaliser le même
travail.
Supposons que le fichier de vérification s'appelle
OpenMyFile.xls, dans le module
ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_Open()
Const NomClasseur$ = "EnCours.xls"
If Not FileIsopen(NomClasseur) Then
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
End If
If Application.Workbooks.Count > 1 Then
ThisWorkbook.Close False
Else
Application.Quit
End If
End Sub
Private Function FileIsopen(FileName$) As Boolean
On Error Resume Next
Dim FSO, Res
' //Nom du domaine/Nom du serveur
Set FSO = GetObject
("WinNT://Europtest/Serveur01/LanmanServer")
If (IsEmpty(FSO) = False) Then
For Each Res In FSO.resources
If (Not Res.User = "") And (Not Right(Res.User, 1) = "$")
Then
FileIsopen = (InStr(1, Res.Path, FileName, 1) > 0)
If FileIsopen Then Exit Function
End If
Next Res
End If
Set FSO = Nothing
End Function
Procédure où NomClasseur représente le nom du classeur
initial.
Enregistre ce classeur dans le même répertoire que le
classeur initial ou dans un
répertoire différent en adaptant la ligne:
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
et place la propriété de ce fichier en lecture seule
puisqu'aucune modification le
concernant n'y sera apporté et pour qu'il puisse être
ouvert par plusieurs et non
concerné par le fameux message ... Notifier... etc.
Si tu souhaites de l'aide pour faire la même chose avec
un fichier vbs, reviens à
la charge.
MP
"Cyrille" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:583a01c47483$5de282c0$a601280a@phx.gbl...
Bonjour,
j'ai mis une appli Excel 2000 sur un lecteur réseau. Ce
classeur peut être accessible par n'importe qui mais
seulement par un utilisateur à la fois. Mon problème,
lorsque l'appli est déjà ouverte par un utilisateur, c'est
de ne pas donner la possibilité à un autre utilisateur
d'ouvrir le classeur en lecture seule. Je ne souhaite pas
non plus qu'une notification soit envoyé à l'utilisateur.
En résumé, le premier connecté sur l'appli peut
l'utiliser. Le second ne doit pas se voir proposer la
boite de dialogue l'informant que le classeur est utilisé
et qu'il peut soit l'ouvrir en lecture seule ou bien
recevoir une notification. Pour cette utilisateur là, il y
aura juste un message (inclus dans la propriété
Workbook_Open) lui indiquant que le classeur est oqp et
qu'il doit revenir + tard. Et là le classeur se ferme.
Connaissez-vous un moyen de supprimer cette boite de
dialogue??
A noter : la manip Outils/Partage du classeur/Permettre
une modification multi utilisateur... (si elle a
l'avantage de supprimer la boite de dial) ne me satisfait
pas car elle ne rend pas disponible le projet VBA.
Merci de votre aide :)
Cyrille
.
-----Message d'origine-----
Bonjour Cyrille;
Ce que tu demandes nécessite d'aller consulter la liste
des fichiers ouverts sur
le serveur avant l'ouverture du fichier proprement dit.
Je crois que cela suppose que tu aies les droits
Administrateur (à vérifier); je
m'explique:
Tu ne peux pas faire cela avec le fichier en question car
cette vérification est
faite par le système avant même l'ouverture du fichier
pour indiquer le fameux
message "... Notifier ... etc. L'astuce consiste donc à
faire cela dans un fichier
séparé, lequel sera chargé d'autoriser ou non l'ouverture
du fichier proprement
dit avant que ce fichier séparé s'auto referme.
Le lancement de ton fichier au moyen d'un fichier vbs
pourrait réaliser le même
travail.
Supposons que le fichier de vérification s'appelle
OpenMyFile.xls, dans le module
ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_Open()
Const NomClasseur$ = "EnCours.xls"
If Not FileIsopen(NomClasseur) Then
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
End If
If Application.Workbooks.Count > 1 Then
ThisWorkbook.Close False
Else
Application.Quit
End If
End Sub
Private Function FileIsopen(FileName$) As Boolean
On Error Resume Next
Dim FSO, Res
' //Nom du domaine/Nom du serveur
Set FSO = GetObject
("WinNT://Europtest/Serveur01/LanmanServer")
If (IsEmpty(FSO) = False) Then
For Each Res In FSO.resources
If (Not Res.User = "") And (Not Right(Res.User, 1) = "$")
Then
FileIsopen = (InStr(1, Res.Path, FileName, 1) > 0)
If FileIsopen Then Exit Function
End If
Next Res
End If
Set FSO = Nothing
End Function
Procédure où NomClasseur représente le nom du classeur
initial.
Enregistre ce classeur dans le même répertoire que le
classeur initial ou dans un
répertoire différent en adaptant la ligne:
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
et place la propriété de ce fichier en lecture seule
puisqu'aucune modification le
concernant n'y sera apporté et pour qu'il puisse être
ouvert par plusieurs et non
concerné par le fameux message ... Notifier... etc.
Si tu souhaites de l'aide pour faire la même chose avec
un fichier vbs, reviens à
la charge.
MP
"Cyrille" a écrit
dans le message de
news:583a01c47483$5de282c0$
Bonjour,
j'ai mis une appli Excel 2000 sur un lecteur réseau. Ce
classeur peut être accessible par n'importe qui mais
seulement par un utilisateur à la fois. Mon problème,
lorsque l'appli est déjà ouverte par un utilisateur, c'est
de ne pas donner la possibilité à un autre utilisateur
d'ouvrir le classeur en lecture seule. Je ne souhaite pas
non plus qu'une notification soit envoyé à l'utilisateur.
En résumé, le premier connecté sur l'appli peut
l'utiliser. Le second ne doit pas se voir proposer la
boite de dialogue l'informant que le classeur est utilisé
et qu'il peut soit l'ouvrir en lecture seule ou bien
recevoir une notification. Pour cette utilisateur là, il y
aura juste un message (inclus dans la propriété
Workbook_Open) lui indiquant que le classeur est oqp et
qu'il doit revenir + tard. Et là le classeur se ferme.
Connaissez-vous un moyen de supprimer cette boite de
dialogue??
A noter : la manip Outils/Partage du classeur/Permettre
une modification multi utilisateur... (si elle a
l'avantage de supprimer la boite de dial) ne me satisfait
pas car elle ne rend pas disponible le projet VBA.
Merci de votre aide :)
Cyrille
.
-----Message d'origine-----
Bonjour Cyrille;
Ce que tu demandes nécessite d'aller consulter la liste
des fichiers ouverts sur
le serveur avant l'ouverture du fichier proprement dit.
Je crois que cela suppose que tu aies les droits
Administrateur (à vérifier); je
m'explique:
Tu ne peux pas faire cela avec le fichier en question car
cette vérification est
faite par le système avant même l'ouverture du fichier
pour indiquer le fameux
message "... Notifier ... etc. L'astuce consiste donc à
faire cela dans un fichier
séparé, lequel sera chargé d'autoriser ou non l'ouverture
du fichier proprement
dit avant que ce fichier séparé s'auto referme.
Le lancement de ton fichier au moyen d'un fichier vbs
pourrait réaliser le même
travail.
Supposons que le fichier de vérification s'appelle
OpenMyFile.xls, dans le module
ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_Open()
Const NomClasseur$ = "EnCours.xls"
If Not FileIsopen(NomClasseur) Then
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
End If
If Application.Workbooks.Count > 1 Then
ThisWorkbook.Close False
Else
Application.Quit
End If
End Sub
Private Function FileIsopen(FileName$) As Boolean
On Error Resume Next
Dim FSO, Res
' //Nom du domaine/Nom du serveur
Set FSO = GetObject
("WinNT://Europtest/Serveur01/LanmanServer")
If (IsEmpty(FSO) = False) Then
For Each Res In FSO.resources
If (Not Res.User = "") And (Not Right(Res.User, 1) = "$")
Then
FileIsopen = (InStr(1, Res.Path, FileName, 1) > 0)
If FileIsopen Then Exit Function
End If
Next Res
End If
Set FSO = Nothing
End Function
Procédure où NomClasseur représente le nom du classeur
initial.
Enregistre ce classeur dans le même répertoire que le
classeur initial ou dans un
répertoire différent en adaptant la ligne:
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
et place la propriété de ce fichier en lecture seule
puisqu'aucune modification le
concernant n'y sera apporté et pour qu'il puisse être
ouvert par plusieurs et non
concerné par le fameux message ... Notifier... etc.
Si tu souhaites de l'aide pour faire la même chose avec
un fichier vbs, reviens à
la charge.
MP
"Cyrille" a écrit
dans le message de
news:583a01c47483$5de282c0$
Bonjour,
j'ai mis une appli Excel 2000 sur un lecteur réseau. Ce
classeur peut être accessible par n'importe qui mais
seulement par un utilisateur à la fois. Mon problème,
lorsque l'appli est déjà ouverte par un utilisateur, c'est
de ne pas donner la possibilité à un autre utilisateur
d'ouvrir le classeur en lecture seule. Je ne souhaite pas
non plus qu'une notification soit envoyé à l'utilisateur.
En résumé, le premier connecté sur l'appli peut
l'utiliser. Le second ne doit pas se voir proposer la
boite de dialogue l'informant que le classeur est utilisé
et qu'il peut soit l'ouvrir en lecture seule ou bien
recevoir une notification. Pour cette utilisateur là, il y
aura juste un message (inclus dans la propriété
Workbook_Open) lui indiquant que le classeur est oqp et
qu'il doit revenir + tard. Et là le classeur se ferme.
Connaissez-vous un moyen de supprimer cette boite de
dialogue??
A noter : la manip Outils/Partage du classeur/Permettre
une modification multi utilisateur... (si elle a
l'avantage de supprimer la boite de dial) ne me satisfait
pas car elle ne rend pas disponible le projet VBA.
Merci de votre aide :)
Cyrille
.
-----Message d'origine-----
Bonjour Cyrille;
Ce que tu demandes nécessite d'aller consulter la liste
des fichiers ouverts sur
le serveur avant l'ouverture du fichier proprement dit.
Je crois que cela suppose que tu aies les droits
Administrateur (à vérifier); je
m'explique:
Tu ne peux pas faire cela avec le fichier en question car
cette vérification est
faite par le système avant même l'ouverture du fichier
pour indiquer le fameux
message "... Notifier ... etc. L'astuce consiste donc à
faire cela dans un fichier
séparé, lequel sera chargé d'autoriser ou non l'ouverture
du fichier proprement
dit avant que ce fichier séparé s'auto referme.
Le lancement de ton fichier au moyen d'un fichier vbs
pourrait réaliser le même
travail.
Supposons que le fichier de vérification s'appelle
OpenMyFile.xls, dans le module
ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_Open()
Const NomClasseur$ = "EnCours.xls"
If Not FileIsopen(NomClasseur) Then
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
End If
If Application.Workbooks.Count > 1 Then
ThisWorkbook.Close False
Else
Application.Quit
End If
End Sub
Private Function FileIsopen(FileName$) As Boolean
On Error Resume Next
Dim FSO, Res
' //Nom du domaine/Nom du serveur
Set FSO = GetObject
("WinNT://Europtest/Serveur01/LanmanServer")
If (IsEmpty(FSO) = False) Then
For Each Res In FSO.resources
If (Not Res.User = "") And (Not Right(Res.User, 1) = "$")
Then
FileIsopen = (InStr(1, Res.Path, FileName, 1) > 0)
If FileIsopen Then Exit Function
End If
Next Res
End If
Set FSO = Nothing
End Function
Procédure où NomClasseur représente le nom du classeur
initial.
Enregistre ce classeur dans le même répertoire que le
classeur initial ou dans un
répertoire différent en adaptant la ligne:
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
et place la propriété de ce fichier en lecture seule
puisqu'aucune modification le
concernant n'y sera apporté et pour qu'il puisse être
ouvert par plusieurs et non
concerné par le fameux message ... Notifier... etc.
Si tu souhaites de l'aide pour faire la même chose avec
un fichier vbs, reviens à
la charge.
MP
"Cyrille" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:583a01c47483$5de282c0$a601280a@phx.gbl...
Bonjour,
j'ai mis une appli Excel 2000 sur un lecteur réseau. Ce
classeur peut être accessible par n'importe qui mais
seulement par un utilisateur à la fois. Mon problème,
lorsque l'appli est déjà ouverte par un utilisateur, c'est
de ne pas donner la possibilité à un autre utilisateur
d'ouvrir le classeur en lecture seule. Je ne souhaite pas
non plus qu'une notification soit envoyé à l'utilisateur.
En résumé, le premier connecté sur l'appli peut
l'utiliser. Le second ne doit pas se voir proposer la
boite de dialogue l'informant que le classeur est utilisé
et qu'il peut soit l'ouvrir en lecture seule ou bien
recevoir une notification. Pour cette utilisateur là, il y
aura juste un message (inclus dans la propriété
Workbook_Open) lui indiquant que le classeur est oqp et
qu'il doit revenir + tard. Et là le classeur se ferme.
Connaissez-vous un moyen de supprimer cette boite de
dialogue??
A noter : la manip Outils/Partage du classeur/Permettre
une modification multi utilisateur... (si elle a
l'avantage de supprimer la boite de dial) ne me satisfait
pas car elle ne rend pas disponible le projet VBA.
Merci de votre aide :)
Cyrille
.
-----Message d'origine-----
Bonjour Cyrille;
Ce que tu demandes nécessite d'aller consulter la liste
des fichiers ouverts sur
le serveur avant l'ouverture du fichier proprement dit.
Je crois que cela suppose que tu aies les droits
Administrateur (à vérifier); je
m'explique:
Tu ne peux pas faire cela avec le fichier en question car
cette vérification est
faite par le système avant même l'ouverture du fichier
pour indiquer le fameux
message "... Notifier ... etc. L'astuce consiste donc à
faire cela dans un fichier
séparé, lequel sera chargé d'autoriser ou non l'ouverture
du fichier proprement
dit avant que ce fichier séparé s'auto referme.
Le lancement de ton fichier au moyen d'un fichier vbs
pourrait réaliser le même
travail.
Supposons que le fichier de vérification s'appelle
OpenMyFile.xls, dans le module
ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_Open()
Const NomClasseur$ = "EnCours.xls"
If Not FileIsopen(NomClasseur) Then
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
End If
If Application.Workbooks.Count > 1 Then
ThisWorkbook.Close False
Else
Application.Quit
End If
End Sub
Private Function FileIsopen(FileName$) As Boolean
On Error Resume Next
Dim FSO, Res
' //Nom du domaine/Nom du serveur
Set FSO = GetObject
("WinNT://Europtest/Serveur01/LanmanServer")
If (IsEmpty(FSO) = False) Then
For Each Res In FSO.resources
If (Not Res.User = "") And (Not Right(Res.User, 1) = "$")
Then
FileIsopen = (InStr(1, Res.Path, FileName, 1) > 0)
If FileIsopen Then Exit Function
End If
Next Res
End If
Set FSO = Nothing
End Function
Procédure où NomClasseur représente le nom du classeur
initial.
Enregistre ce classeur dans le même répertoire que le
classeur initial ou dans un
répertoire différent en adaptant la ligne:
Workbooks.Open ThisWorkbook.Path & "" & NomClasseur
et place la propriété de ce fichier en lecture seule
puisqu'aucune modification le
concernant n'y sera apporté et pour qu'il puisse être
ouvert par plusieurs et non
concerné par le fameux message ... Notifier... etc.
Si tu souhaites de l'aide pour faire la même chose avec
un fichier vbs, reviens à
la charge.
MP
"Cyrille" a écrit
dans le message de
news:583a01c47483$5de282c0$
Bonjour,
j'ai mis une appli Excel 2000 sur un lecteur réseau. Ce
classeur peut être accessible par n'importe qui mais
seulement par un utilisateur à la fois. Mon problème,
lorsque l'appli est déjà ouverte par un utilisateur, c'est
de ne pas donner la possibilité à un autre utilisateur
d'ouvrir le classeur en lecture seule. Je ne souhaite pas
non plus qu'une notification soit envoyé à l'utilisateur.
En résumé, le premier connecté sur l'appli peut
l'utiliser. Le second ne doit pas se voir proposer la
boite de dialogue l'informant que le classeur est utilisé
et qu'il peut soit l'ouvrir en lecture seule ou bien
recevoir une notification. Pour cette utilisateur là, il y
aura juste un message (inclus dans la propriété
Workbook_Open) lui indiquant que le classeur est oqp et
qu'il doit revenir + tard. Et là le classeur se ferme.
Connaissez-vous un moyen de supprimer cette boite de
dialogue??
A noter : la manip Outils/Partage du classeur/Permettre
une modification multi utilisateur... (si elle a
l'avantage de supprimer la boite de dial) ne me satisfait
pas car elle ne rend pas disponible le projet VBA.
Merci de votre aide :)
Cyrille
.