Sur un fichier excel (Microsoft Excel 2003), j'aimerai que quand il est déjà
ouvert par une personne et qu'il y a une autre personne qui veut ouvrir le
même fichier, un message apparaisse en disant que le fichier est déjà ouvert
et ne peut pas être ouvert une fois de plus.
J'essaye de l e faire avec une macro VBA mais je ne trouve pas.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Déjà parue sur ce forum, la réponse suivante : (je n'ai pas l'environnement pour tester ça !)
----------Début de copie----------
Moi j'ai un eu problème similaire en réseau NT avec Excel 2000. Suite à l'aide de plusieurs sur ce forum, (encore merci à El-Joker, Frédéric Sigonneau et Thierry Rural, voir ficelle "Macro Workbooks.Open sur fichier déjà en cours de lecture" du 10/12/2001 11:54) j'ai fini par réussir à faire çà...
Pour ce genre de fichiers qui sont souvent ouverts (pas longtemps) par d'autres utilisateur, j'ai créé une interface d'ouverture, (en fait un personnal.xls dans le startup). Cette interface (non hiden) contient les boutons d'ouverture directe des fichiers en question. Dans l'exemple le bouton d'ouverture de "Demand.xls" lance la macro "CallDemands"
C'est radical! si le fichier est ouvert = Message (et il s'ouvre pas) sinon il s'ouvre.
Voici le code : (à mettre dans un module standard du personnal.xls)
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 Error errnum End Select End Function
Sub CallDemands() Dim Msg, Style, Title If IsFileOpen("P:DevelopmentsDemand.xls") Then MsgBox "File Already in use" & Chr(13) & "Please Try Latter" Else Workbooks.Open "P:DevelopmentsDemand.xls" End If End Sub
----------Fin de copie----------
"Guillaume MARANDE" a écrit dans le message de news: % Bonjour,
Voici mon problème :
Sur un fichier excel (Microsoft Excel 2003), j'aimerai que quand il est déjà ouvert par une personne et qu'il y a une autre personne qui veut ouvrir le même fichier, un message apparaisse en disant que le fichier est déjà ouvert et ne peut pas être ouvert une fois de plus.
J'essaye de l e faire avec une macro VBA mais je ne trouve pas.
Merci de me dire comment je peux faire.
Guillaume
Déjà parue sur ce forum, la réponse suivante :
(je n'ai pas l'environnement pour tester ça !)
----------Début de copie----------
Moi j'ai un eu problème similaire en réseau NT avec Excel 2000.
Suite à l'aide de plusieurs sur ce forum, (encore merci à El-Joker, Frédéric
Sigonneau et Thierry Rural, voir ficelle "Macro Workbooks.Open sur fichier
déjà en cours de lecture" du 10/12/2001 11:54) j'ai fini par réussir à faire
çà...
Pour ce genre de fichiers qui sont souvent ouverts (pas longtemps) par
d'autres utilisateur, j'ai créé une interface d'ouverture, (en fait un
personnal.xls dans le startup).
Cette interface (non hiden) contient les boutons d'ouverture directe des
fichiers en question.
Dans l'exemple le bouton d'ouverture de "Demand.xls" lance la macro
"CallDemands"
C'est radical! si le fichier est ouvert = Message (et il s'ouvre pas) sinon
il s'ouvre.
Voici le code : (à mettre dans un module standard du personnal.xls)
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
Error errnum
End Select
End Function
Sub CallDemands()
Dim Msg, Style, Title
If IsFileOpen("P:DevelopmentsDemand.xls") Then
MsgBox "File Already in use" & Chr(13) & "Please Try Latter"
Else
Workbooks.Open "P:DevelopmentsDemand.xls"
End If
End Sub
----------Fin de copie----------
"Guillaume MARANDE" <g.marande@mulliez.fr> a écrit dans le message de news:
%23QShLzyDIHA.280@TK2MSFTNGP03.phx.gbl...
Bonjour,
Voici mon problème :
Sur un fichier excel (Microsoft Excel 2003), j'aimerai que quand il est déjà
ouvert par une personne et qu'il y a une autre personne qui veut ouvrir le
même fichier, un message apparaisse en disant que le fichier est déjà ouvert
et ne peut pas être ouvert une fois de plus.
J'essaye de l e faire avec une macro VBA mais je ne trouve pas.
Déjà parue sur ce forum, la réponse suivante : (je n'ai pas l'environnement pour tester ça !)
----------Début de copie----------
Moi j'ai un eu problème similaire en réseau NT avec Excel 2000. Suite à l'aide de plusieurs sur ce forum, (encore merci à El-Joker, Frédéric Sigonneau et Thierry Rural, voir ficelle "Macro Workbooks.Open sur fichier déjà en cours de lecture" du 10/12/2001 11:54) j'ai fini par réussir à faire çà...
Pour ce genre de fichiers qui sont souvent ouverts (pas longtemps) par d'autres utilisateur, j'ai créé une interface d'ouverture, (en fait un personnal.xls dans le startup). Cette interface (non hiden) contient les boutons d'ouverture directe des fichiers en question. Dans l'exemple le bouton d'ouverture de "Demand.xls" lance la macro "CallDemands"
C'est radical! si le fichier est ouvert = Message (et il s'ouvre pas) sinon il s'ouvre.
Voici le code : (à mettre dans un module standard du personnal.xls)
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 Error errnum End Select End Function
Sub CallDemands() Dim Msg, Style, Title If IsFileOpen("P:DevelopmentsDemand.xls") Then MsgBox "File Already in use" & Chr(13) & "Please Try Latter" Else Workbooks.Open "P:DevelopmentsDemand.xls" End If End Sub
----------Fin de copie----------
"Guillaume MARANDE" a écrit dans le message de news: % Bonjour,
Voici mon problème :
Sur un fichier excel (Microsoft Excel 2003), j'aimerai que quand il est déjà ouvert par une personne et qu'il y a une autre personne qui veut ouvrir le même fichier, un message apparaisse en disant que le fichier est déjà ouvert et ne peut pas être ouvert une fois de plus.
J'essaye de l e faire avec une macro VBA mais je ne trouve pas.
Merci de me dire comment je peux faire.
Guillaume
Guillaume MARANDE
Bonjour,
Je n'arrive pas à faire fonctionner ta procédure. Pourrais-tu me donner un fichier exemple pour m'aider ?
Merci d'avance
Guillaume
"MichDenis" a écrit dans le message de news: %
Déjà parue sur ce forum, la réponse suivante : (je n'ai pas l'environnement pour tester ça !)
----------Début de copie----------
Moi j'ai un eu problème similaire en réseau NT avec Excel 2000. Suite à l'aide de plusieurs sur ce forum, (encore merci à El-Joker, Frédéric Sigonneau et Thierry Rural, voir ficelle "Macro Workbooks.Open sur fichier déjà en cours de lecture" du 10/12/2001 11:54) j'ai fini par réussir à faire çà...
Pour ce genre de fichiers qui sont souvent ouverts (pas longtemps) par d'autres utilisateur, j'ai créé une interface d'ouverture, (en fait un personnal.xls dans le startup). Cette interface (non hiden) contient les boutons d'ouverture directe des fichiers en question. Dans l'exemple le bouton d'ouverture de "Demand.xls" lance la macro "CallDemands"
C'est radical! si le fichier est ouvert = Message (et il s'ouvre pas) sinon il s'ouvre.
Voici le code : (à mettre dans un module standard du personnal.xls)
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 Error errnum End Select End Function
Sub CallDemands() Dim Msg, Style, Title If IsFileOpen("P:DevelopmentsDemand.xls") Then MsgBox "File Already in use" & Chr(13) & "Please Try Latter" Else Workbooks.Open "P:DevelopmentsDemand.xls" End If End Sub
----------Fin de copie----------
"Guillaume MARANDE" a écrit dans le message de news: % Bonjour,
Voici mon problème :
Sur un fichier excel (Microsoft Excel 2003), j'aimerai que quand il est déjà ouvert par une personne et qu'il y a une autre personne qui veut ouvrir le même fichier, un message apparaisse en disant que le fichier est déjà ouvert et ne peut pas être ouvert une fois de plus.
J'essaye de l e faire avec une macro VBA mais je ne trouve pas.
Merci de me dire comment je peux faire.
Guillaume
Bonjour,
Je n'arrive pas à faire fonctionner ta procédure. Pourrais-tu me donner un
fichier exemple pour m'aider ?
Merci d'avance
Guillaume
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23FNpl8yDIHA.4772@TK2MSFTNGP02.phx.gbl...
Déjà parue sur ce forum, la réponse suivante :
(je n'ai pas l'environnement pour tester ça !)
----------Début de copie----------
Moi j'ai un eu problème similaire en réseau NT avec Excel 2000.
Suite à l'aide de plusieurs sur ce forum, (encore merci à El-Joker,
Frédéric
Sigonneau et Thierry Rural, voir ficelle "Macro Workbooks.Open sur fichier
déjà en cours de lecture" du 10/12/2001 11:54) j'ai fini par réussir à
faire
çà...
Pour ce genre de fichiers qui sont souvent ouverts (pas longtemps) par
d'autres utilisateur, j'ai créé une interface d'ouverture, (en fait un
personnal.xls dans le startup).
Cette interface (non hiden) contient les boutons d'ouverture directe des
fichiers en question.
Dans l'exemple le bouton d'ouverture de "Demand.xls" lance la macro
"CallDemands"
C'est radical! si le fichier est ouvert = Message (et il s'ouvre pas)
sinon
il s'ouvre.
Voici le code : (à mettre dans un module standard du personnal.xls)
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
Error errnum
End Select
End Function
Sub CallDemands()
Dim Msg, Style, Title
If IsFileOpen("P:DevelopmentsDemand.xls") Then
MsgBox "File Already in use" & Chr(13) & "Please Try Latter"
Else
Workbooks.Open "P:DevelopmentsDemand.xls"
End If
End Sub
----------Fin de copie----------
"Guillaume MARANDE" <g.marande@mulliez.fr> a écrit dans le message de
news:
%23QShLzyDIHA.280@TK2MSFTNGP03.phx.gbl...
Bonjour,
Voici mon problème :
Sur un fichier excel (Microsoft Excel 2003), j'aimerai que quand il est
déjà
ouvert par une personne et qu'il y a une autre personne qui veut ouvrir le
même fichier, un message apparaisse en disant que le fichier est déjà
ouvert
et ne peut pas être ouvert une fois de plus.
J'essaye de l e faire avec une macro VBA mais je ne trouve pas.
Je n'arrive pas à faire fonctionner ta procédure. Pourrais-tu me donner un fichier exemple pour m'aider ?
Merci d'avance
Guillaume
"MichDenis" a écrit dans le message de news: %
Déjà parue sur ce forum, la réponse suivante : (je n'ai pas l'environnement pour tester ça !)
----------Début de copie----------
Moi j'ai un eu problème similaire en réseau NT avec Excel 2000. Suite à l'aide de plusieurs sur ce forum, (encore merci à El-Joker, Frédéric Sigonneau et Thierry Rural, voir ficelle "Macro Workbooks.Open sur fichier déjà en cours de lecture" du 10/12/2001 11:54) j'ai fini par réussir à faire çà...
Pour ce genre de fichiers qui sont souvent ouverts (pas longtemps) par d'autres utilisateur, j'ai créé une interface d'ouverture, (en fait un personnal.xls dans le startup). Cette interface (non hiden) contient les boutons d'ouverture directe des fichiers en question. Dans l'exemple le bouton d'ouverture de "Demand.xls" lance la macro "CallDemands"
C'est radical! si le fichier est ouvert = Message (et il s'ouvre pas) sinon il s'ouvre.
Voici le code : (à mettre dans un module standard du personnal.xls)
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 Error errnum End Select End Function
Sub CallDemands() Dim Msg, Style, Title If IsFileOpen("P:DevelopmentsDemand.xls") Then MsgBox "File Already in use" & Chr(13) & "Please Try Latter" Else Workbooks.Open "P:DevelopmentsDemand.xls" End If End Sub
----------Fin de copie----------
"Guillaume MARANDE" a écrit dans le message de news: % Bonjour,
Voici mon problème :
Sur un fichier excel (Microsoft Excel 2003), j'aimerai que quand il est déjà ouvert par une personne et qu'il y a une autre personne qui veut ouvrir le même fichier, un message apparaisse en disant que le fichier est déjà ouvert et ne peut pas être ouvert une fois de plus.
J'essaye de l e faire avec une macro VBA mais je ne trouve pas.