Dossier ouvert ou non

Le
Patrick Catarsi
Bonjour à tous,
Voilà, j'ai un programme de compta personnel . Je peut choisir l'année des
données à l'ouverture du UserForm par le code ci-dessous:
Workbooks.Open FileName:="DonCompt.xls", j'accède aux données.
Par contre il m'arrive dès fois que le dossier "DonCompt.xls" soit déjà
ouvert. Je me retrouve avec un message d'erreur.
Je n'arrive pas à crèer une ligne de code qui vérifierais si le dossier est
déjà ouvert.
J'espère avoir été clair
Merci d'avance
Patrick
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
Caetera
Le #21032141
"Patrick Catarsi" C78069BC.25D%

Voilà, j'ai un programme de compta personnel . Je peut choisir l'année des
données à l'ouverture du UserForm par le code ci-dessous:
Workbooks.Open FileName:="DonCompt.xls", j'accède aux données.
Par contre il m'arrive dès fois que le dossier "DonCompt.xls" soit déjà
ouvert. Je me retrouve avec un message d'erreur.
Je n'arrive pas à crèer une ligne de code qui vérifierais si le dossier est
déjà ouvert.



************************
on error resume next
Workbooks.Open FileName:="DonCompt.xls",
if err.number<>0 then
msgbox "déjà ouvert"
exit sub
end if

Etc
galopin01
Le #21032131
bonjour,
une fonction personnalisée peut-être :
Function WbIsOpen(WbName As String) As Boolean
On Error Resume Next
WbIsOpen = Not Workbooks(WbName) Is Nothing
End Function

Ensuite dans ton ton code

If WbIsOpen("DonCompt.xls") Then...

A+




"Patrick Catarsi" C78069BC.25D%
Bonjour à tous,
Voilà, j'ai un programme de compta personnel . Je peut choisir l'année des
données à l'ouverture du UserForm par le code ci-dessous:
Workbooks.Open FileName:="DonCompt.xls", j'accède aux données.
Par contre il m'arrive dès fois que le dossier "DonCompt.xls" soit déjà
ouvert. Je me retrouve avec un message d'erreur.
Je n'arrive pas à crèer une ligne de code qui vérifierais si le dossier
est
déjà ouvert.
J'espère avoir été clair
Merci d'avance
Patrick



Patrick Catarsi
Le #21035721
Merci pour cette solution déjà bien, mais il m'apparaît un dialogue: le
document est déjà ouvert, voulez vous l'ouvrir etc.
en fait ce qu'il me faudrait, c'est un bout de code qui lise le nom des
fichier ouvert et le compare au mien pour automatiser complètement.
En fait je ne sais pas lire un nom de fichier et le stocker dans une
variable. Après je sais faire.
Merci d'avance
Patrick







Le 23/01/10 9:12, dans , « Caetera »

"Patrick Catarsi" C78069BC.25D%

Voilà, j'ai un programme de compta personnel . Je peut choisir l'année des
données à l'ouverture du UserForm par le code ci-dessous:
Workbooks.Open FileName:="DonCompt.xls", j'accède aux données.
Par contre il m'arrive dès fois que le dossier "DonCompt.xls" soit déjà
ouvert. Je me retrouve avec un message d'erreur.
Je n'arrive pas à crèer une ligne de code qui vérifierais si le dossier est
déjà ouvert.



************************
on error resume next
Workbooks.Open FileName:="DonCompt.xls",
if err.number<>0 then
msgbox "déjà ouvert"
exit sub
end if

Etc




michdenis
Le #21042391
Bonjour,

Il y a ceci... je n'ai plus le nom de l'auteur de ces lignes de code :
Tu auras un message seulement si ton fichier est ouvert pour
t'en avertir sinon le fichier sera ouvert.
'--------------------------------------
Sub Test()
Dim Fichier As String
Fichier =" c:LeCheminMonFichier.xls"
if dir(fichier)<>"" then
if IsFileOpen(fichier)=true then
Msgbox "Votre fichier " & fichier & " est déjà ouvert."
else
Workbooks.Open FileName:= Fichier
end if
Else
Msgbox "Votre fichier " & fichier & " n'existe pas."
End if
End Sub
'--------------------------------------
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 53
IsFileOpen = "N'existe pas"
Case 70
IsFileOpen = True
End Select
End Function
'-------------------------------------------





"Patrick Catarsi" discussion : C7810CE6.12E4%
Merci pour cette solution déjà bien, mais il m'apparaît un dialogue: le
document est déjà ouvert, voulez vous l'ouvrir etc.
en fait ce qu'il me faudrait, c'est un bout de code qui lise le nom des
fichier ouvert et le compare au mien pour automatiser complètement.
En fait je ne sais pas lire un nom de fichier et le stocker dans une
variable. Après je sais faire.
Merci d'avance
Patrick







Le 23/01/10 9:12, dans , « Caetera »

"Patrick Catarsi" C78069BC.25D%

Voilà, j'ai un programme de compta personnel . Je peut choisir l'année des
données à l'ouverture du UserForm par le code ci-dessous:
Workbooks.Open FileName:="DonCompt.xls", j'accède aux données.
Par contre il m'arrive dès fois que le dossier "DonCompt.xls" soit déjà
ouvert. Je me retrouve avec un message d'erreur.
Je n'arrive pas à crèer une ligne de code qui vérifierais si le dossier est
déjà ouvert.



************************
on error resume next
Workbooks.Open FileName:="DonCompt.xls",
if err.number<>0 then
msgbox "déjà ouvert"
exit sub
end if

Etc




Publicité
Poster une réponse
Anonyme