Ouvrir un fichier Excel si il n'est pas deja ouvert

TheHighFlying

XLDnaute Nouveau
Bonjour a tous !

Voila je bloque un peu sur mon VBA !!

J'aimerai dire :

Si le document excel "origine" n'est pas ouvert, alors l'ouvrir
Sinon rien

Ca parrait tout con mais j'y arrive pas !!

Merci de me donner un code ;)
 

RENAUDER

Nous a quitté
Repose en paix
Re : Ouvrir un fichier Excel si il n'est pas deja ouvert

Bonjour,
Essaies ce code
Code:
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
 

TheHighFlying

XLDnaute Nouveau
Re : Ouvrir un fichier Excel si il n'est pas deja ouvert

Bonjour et merci pour cette reponse rapide

Cependant, j'ai oublier de préciser

C'est deja compris dans un "Sub"

Voi plutot mon code :

Code:
Private Sub Valider_Click()

If (TextBox15.Value <> CCPL) And (Autorisationdedomiciliation.Value = True) Then

Workbooks.Open Filename:="c:\Ordi\Flo\Origine.xls"

Sheets("Sheet1").Select

[A65536].Select
Selection.End(xlUp)(2).Select
Selection.End(xlUp)(2).Value = TextBox19
End If

End Sub

Sur ce code, j'ouvre le document.

Si je relance mon interface pour inscrire quelques choses dans ma feuille "origine"
Il va me dire "attention feuille deja ouverte si vous la réouvrer les donnéenon sauvegardé seront perdu"

C'est pour ca que j'aimerai dire

Si la feuille n'est pas ouverte alors l'ouvrire
Sinon ne rien faire
 

RENAUDER

Nous a quitté
Repose en paix
Re : Ouvrir un fichier Excel si il n'est pas deja ouvert

Bonjour,
Et comme ça ?
Code:
Public Etat As Boolean
Private Sub Valider_Click()
    Dim FileToOpen As String
    FileToOpen = "c:\Ordi\Flo\Origine.xls"
    If (TextBox15.Value <> CCPL) And (Autorisationdedomiciliation.Value = True) Then
        Etat = IsFileOpen(FileToOpen)
        If Etat = False Then Workbooks.Open FileToOpen
        Sheets("Sheet1").Select
        [A65536].Select
        Selection.End(xlUp)(2).Select
        Selection.End(xlUp)(2).Value = TextBox19
    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 70
        IsFileOpen = True
    End Select
End Function
 

RENAUDER

Nous a quitté
Repose en paix
Re : Ouvrir un fichier Excel si il n'est pas deja ouvert

Bonjour,

Sans avoir le programme complet et le code c'est difficile de répondre et donner la solution exacte.

Quand je fais des tests avec mon code ça fonctionne mais il faut certainement modifier ton code.
Je t'ao donné une piste, à toi d'essayer d'adapter.
 

Discussions similaires

Réponses
2
Affichages
372