VBA ouvrir fichier
Résolu
cdr
-
momouiz Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
momouiz Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche le code qui permet d'ouvrir un fichier à partir d'une macro sans générer d'erreur si le fichier est déjà ouvert.soit tester si le fichier est ouvert, soit tester le code erreur de l'ouverture.
Merci de votre aide
Je cherche le code qui permet d'ouvrir un fichier à partir d'une macro sans générer d'erreur si le fichier est déjà ouvert.soit tester si le fichier est ouvert, soit tester le code erreur de l'ouverture.
Merci de votre aide
A voir également:
- VBA ouvrir fichier
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Ouvrir fichier .dat - Guide
- Comment ouvrir un fichier docx ? - Guide
- Comment ouvrir un fichier 7z - Guide
5 réponses
Bonjour,
Option Explicit Dim objExcel As Excel.Application '--------------------------------------------------------------------------------------- ' Procédure : ClasseurEstOuvert ' Auteur : 2pme, Guy Courville ' Date : vendredi 11 février 2011 ' Détails : Le jeu consiste à ouvrir le classeur dans une instance invisible d'Excel ' et à tester la propriété ReadOnly de ce classeur. C'est la valeur de cette ' propriété qui est retournée par la fonction. ' ' Note 1 : Le paramètre strNomFichierComplet doit porter le chemin complet du classeur ' comme son nom l'indique. ' ' Note 2 : Aucun gestionnaire d'erreur n'est actif. ' '--------------------------------------------------------------------------------------- ' Function ClasseurEstOuvert(strNomFichierComplet As String) As Boolean Set objExcel = New Excel.Application With objExcel ' L'instance d'Excel qui porte le fichier ne doit pas être visible .Visible = False .Workbooks.Open (strNomFichierComplet) ' Si le classeur est déjà ouvert cette propriété sera à True ClasseurEstOuvert = .Workbooks(1).ReadOnly .Quit End With ' Ne pas oublier de supprimer la référence à Excel ' sinon une autre instance fantôme hantera votre système... Set objExcel = Nothing End Function
Bonjour,
Si on parle bien de VBA sous excel, essaye ceci : (toto ton nom de fichier à ouvrir)
"Laissez-moi deviner... Votre surnom, c'est «Bande Passante»? "
- Le Tribunal des flagrants délires- P.Desproges -
Si on parle bien de VBA sous excel, essaye ceci : (toto ton nom de fichier à ouvrir)
Option Explicit Sub essai() Dim Ws As Workbook Dim test As Boolean test = False For Each Ws In Application.Workbooks If Ws.Name = "toto" Then Ws.Activate test = True Exit Sub End If Next If test = False Then Workbooks.Open "toto.xls" End If End Sub
"Laissez-moi deviner... Votre surnom, c'est «Bande Passante»? "
- Le Tribunal des flagrants délires- P.Desproges -
Allez un p 'tit cadeau!!
tu copies et colles ce code dans un module
puis tu l'appelles dans ta sub
ex:
sub test
if IsFileOpen("c:\data\test.xls") then
' il est déja ouvert 'vrai
else
' il n'est pas ouvert
endif
end sub
tu copies et colles ce code dans un module
puis tu l'appelles dans ta sub
ex:
sub test
if IsFileOpen("c:\data\test.xls") then
' il est déja ouvert 'vrai
else
' il n'est pas ouvert
endif
end sub
Function IsFileOpen(filename As String) Dim fileNum As Integer, ErrNumero As Integer On Error Resume Next fileNum = FreeFile() Open filename For Input Lock Read As #filenum Close fileNum ErrNumero = Err On Error GoTo 0 Select Case ErrNumero Case 0 IsFileOpen = False Case 70 IsFileOpen = True End Select End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hello tout le monde, j'ai ouvert un sujet du même type mais pas de réponse je tente donc ma chance ici.
Voila j'utilise le code proposé par @bidouilleu_R, seulement mon probléme est que mon filename est une url sharepoint sur laquelle je stock mon fichier, cela me renvoi une erreur 52 bad file name, que faire , y a t-il une solution pour résoudre ce probléme ?
Voila j'utilise le code proposé par @bidouilleu_R, seulement mon probléme est que mon filename est une url sharepoint sur laquelle je stock mon fichier, cela me renvoi une erreur 52 bad file name, que faire , y a t-il une solution pour résoudre ce probléme ?