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
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
Caetera
"Patrick Catarsi" a écrit dans le message de news: 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
"Patrick Catarsi" <pastout@orange.fr> a écrit dans le message de news:
C78069BC.25D%pastout@orange.fr...
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
"Patrick Catarsi" a écrit dans le message de news: 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
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" a écrit dans le message de news: 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
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" <pastout@orange.fr> a écrit dans le message de news:
C78069BC.25D%pastout@orange.fr...
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
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" a écrit dans le message de news: 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
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 » <EtiennePloufCah?@wanadoo.fr> a écrit :
"Patrick Catarsi" a écrit dans le message de news: 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
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 epOfSPAnKHA.5520@TK2MSFTNGP05.phx.gbl, « Caetera »
<EtiennePloufCah?@wanadoo.fr> a écrit :
"Patrick Catarsi" <pastout@orange.fr> a écrit dans le message de news:
C78069BC.25D%pastout@orange.fr...
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
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 » <EtiennePloufCah?@wanadoo.fr> a écrit :
"Patrick Catarsi" a écrit dans le message de news: 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
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" a écrit dans le message de groupe de 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 » <EtiennePloufCah?@wanadoo.fr> a écrit :
"Patrick Catarsi" a écrit dans le message de news: 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
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" <patrick-catarsi@orange.fr> a écrit dans le message de groupe de
discussion : C7810CE6.12E4%patrick-catarsi@orange.fr...
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 epOfSPAnKHA.5520@TK2MSFTNGP05.phx.gbl, « Caetera »
<EtiennePloufCah?@wanadoo.fr> a écrit :
"Patrick Catarsi" <pastout@orange.fr> a écrit dans le message de news:
C78069BC.25D%pastout@orange.fr...
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
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" a écrit dans le message de groupe de 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 » <EtiennePloufCah?@wanadoo.fr> a écrit :
"Patrick Catarsi" a écrit dans le message de news: 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