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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Youky
Le #5087881
Salut voici un exemple
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%
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


JulieH
Le #5085711
Bonjour et merci pour ta réponse,

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

Salut voici un exemple
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%
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






FFO
Le #5085681
Salut Julieh

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


Bonjour et merci pour ta réponse,

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

Salut voici un exemple
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%
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









Youky
Le #5085661
Remplace chemin= ???? et fichier=???.xls
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$
Bonjour et merci pour ta réponse,

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

Salut voici un exemple
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" news: eZSTEn%
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







JulieH
Le #5085591
Je pense que cela devrait aller, je vais essayer tout à l'heure.

Merci à tous les deux
Julie

Remplace chemin= ???? et fichier=???.xls
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$
Bonjour et merci pour ta réponse,

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

Salut voici un exemple
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" news: eZSTEn%
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









Publicité
Poster une réponse
Anonyme