Test fichier ouvert
Le
JulieH
Bonjour,
Bonjour à toutes et tous,
J'utilise depuis assez longtemps une fonction et une Macro (trouvées
sur le forum - JB je crois) qui me permettent de tester si un fichier
est déjà ouvert sur mon ordinateur.
Function Est_ouvert(f)
témoin = False
For Each i In Workbooks 'on parcourt la collection des classeurs
If UCase(i.Name) = UCase(f) Then
témoin = True
End If
Next i
Est_ouvert = témoin
End Function
Sub Vérif()
Fichier_enregistre = "XXXX - " & [Feuil4].[C6].Value
nf = Fichier_enregistre
If Not Est_ouvert(nf) Then
MsgBox "Le fichier " & nf & " n'est pas ouvert"
Else
MsgBox "Le fichier " & nf & " est déjà ouvert"
End If
End Sub
Cela fonctionne parfaitement. Le problème est que je travaille
maintenant sur un réseau. Je souhaiterais donc avoir une fonction qui
fasse la même chose mais en vérifiant si le fichier est ouvert ou non
par quelqu'un d'autre (sur le serveur) avant d'enregistrer.
Est-ce possible ?
Merci d'avance pour vos idées.
Julie
Bonjour à toutes et tous,
J'utilise depuis assez longtemps une fonction et une Macro (trouvées
sur le forum - JB je crois) qui me permettent de tester si un fichier
est déjà ouvert sur mon ordinateur.
Function Est_ouvert(f)
témoin = False
For Each i In Workbooks 'on parcourt la collection des classeurs
If UCase(i.Name) = UCase(f) Then
témoin = True
End If
Next i
Est_ouvert = témoin
End Function
Sub Vérif()
Fichier_enregistre = "XXXX - " & [Feuil4].[C6].Value
nf = Fichier_enregistre
If Not Est_ouvert(nf) Then
MsgBox "Le fichier " & nf & " n'est pas ouvert"
Else
MsgBox "Le fichier " & nf & " est déjà ouvert"
End If
End Sub
Cela fonctionne parfaitement. Le problème est que je travaille
maintenant sur un réseau. Je souhaiterais donc avoir une fonction qui
fasse la même chose mais en vérifiant si le fichier est ouvert ou non
par quelqu'un d'autre (sur le serveur) avant d'enregistrer.
Est-ce possible ?
Merci d'avance pour vos idées.
Julie

Poser une question


Bien indiquer le chemin (pas fait)
Youky
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
On Error Resume Next
Windows("exemple.xls").Activate
If Err > 0 Then Err.Clear: Workbooks.Open ("exemple.xls")
If ActiveWorkbook.ReadOnly Then ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
"JulieH" eZSTEn%
Malgré quelques essais rapides, je n'y suis pas arrivée. Je ne
comprends pas où indiquer le chemin, ni comment :
Avec ChDir "G:tototititata" ?
Julie
Pour compléter la proposition de Youky :
Application.ScreenUpdating = False
On Error Resume Next
Windows("exemple.xls").Activate
If Err > 0 Then Err.Clear: Workbooks.Open ("G:tototititataexemple.xls")
If ActiveWorkbook.ReadOnly Then ActiveWorkbook.Close
Application.ScreenUpdating = True
J'ai essayé celà fonctionne
Youky
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
chemin = ThisWorkbook.Path 'si dans même répertoire
'Chez moi chemin renvoie ceci mais j'ai pas de serveur
'chemin="C:Documents and SettingsBruno JEUNEMes documents"
fichier = "hhmm.xls" 'le nom du fichier
On Error Resume Next
Windows(fichier).Activate
If Err > 0 Then
Err.Clear
Workbooks.Open (chemin & "" & fichier)
End If
If ActiveWorkbook.ReadOnly Then ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
"JulieH" %23tfoRR$
Merci à tous les deux
Julie