Macro lancer l'ouverture d'un fichier avec condtion

  • Initiateur de la discussion Initiateur de la discussion chris6999
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chris6999

XLDnaute Impliqué
Bonjour le FORUM

J'ai trouvé sur le FORUM une macro de RENAUDER permettant de lancer l'ouverture d'un fichier uniquement si ce dernier est fermé.
Cela marche nickel.
Je voudrais juste l'enrichir pour qu'il affiche la feuille 3 du classeur si celui-ci est déjà ouvert
Comment m'y prendre ?

Merci d'avance pour vos conseils


Public Etat As Boolean
Sub OuvrirFichier()
Dim FileToOpen As String
FileToOpen = "C:\Excel\testOpen.xls"
Etat = IsFileOpen(FileToOpen)
If Etat = False Then Workbooks.Open FileToOpen
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 70
IsFileOpen = True
End Select
End Function
 
Re : Macro lancer l'ouverture d'un fichier avec condtion

Bonjour,

Tu as essayé quelque chose comme ça ?


VB:
 Sub OuvrirFichier()
 Dim FileToOpen As String
 
 FileToOpen = "C:\Excel\testOpen.xls"
 
 If IsFileOpen(FileToOpen) Then
    Worksheets("NomFeuille").Activate
 Else
    Workbooks.Open FileToOpen
    Worksheets("NomFeuille").Activate
 End If
 
 End Sub
 
 
 Function IsFileOpen(Filename As String) As Boolean
 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
 End Select
 End Function
 
Re : Macro lancer l'ouverture d'un fichier avec condtion

Bonjour

Après l'avoir adapté à mes besoins cela fonctionne nickel
Merci encore et bonne fin d'après midi

Cordialement

Sub OuvrirFichier()


Dim FileToOpen As String
FileToOpen = "C:\Répertoire\fichier_à_ouvrir.xls"
If IsFileOpen(FileToOpen) Then
Windows("fichier_à_ouvrir.xls").Activate
Sheets("Nomfeuille").Select
Range("B2").Select
Else
Workbooks.Open FileToOpen
End If

End Sub


Function IsFileOpen(Filename As String) As Boolean
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
End Select
End Function


Bonjour,

Tu as essayé quelque chose comme ça ?


VB:
 Sub OuvrirFichier()
 Dim FileToOpen As String
 
 FileToOpen = "C:\Excel\testOpen.xls"
 
 If IsFileOpen(FileToOpen) Then
    Worksheets("NomFeuille").Activate
 Else
    Workbooks.Open FileToOpen
    Worksheets("NomFeuille").Activate
 End If
 
 End Sub
 
 
 Function IsFileOpen(Filename As String) As Boolean
 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
 End Select
 End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour