IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA detection fichier en reseau deja ouvert


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 8
    Points : 7
    Points
    7
    Par défaut VBA detection fichier en reseau deja ouvert
    Bonjour

    je ne sais pas comment detecter dans une macro , qu' un fichier ( sur un reseau - donc plusieurs utilisateurs ) est deja ouvert par un
    autre utilisateur , avant de l' ouvrir moi meme

    Merci d avance

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, peut-être ici ? ou alors via une recherche.
    Extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Sub TestFileOpened()
     
        ' Test to see if the file is open.
        If IsFileOpen("c:\Book2.xls") Then
            ' Display a message stating the file in use.
            MsgBox "File already in use!"
            '
            ' Add code here to handle case where file is open by another
            ' user.
            '
        Else
            ' Display a message stating the file is not in use.
            MsgBox "File not in use!"
            ' Open the file in Microsoft Excel.
            Workbooks.Open "c:\Book2.xls"
            '
            ' Add code here to handle case where file is NOT open by another
            ' user.
            '
        End If
     
    End Sub
     
    ' This function checks to see if a file is open or not. If the file is
    ' already open, it returns True. If the file is not open, it returns
    ' False. Otherwise, a run-time error occurs because there is
    ' some other problem accessing the file.
     
    Function IsFileOpen(filename As String)
        Dim filenum As Integer, errnum As Integer
     
        On Error Resume Next   ' Turn error checking off.
        filenum = FreeFile()   ' Get a free file number.
        ' Attempt to open the file and lock it.
        Open filename For Input Lock Read As #filenum
        Close filenum          ' Close the file.
        errnum = Err           ' Save the error number that occurred.
        On Error GoTo 0        ' Turn error checking back on.
     
        ' Check to see which error occurred.
        Select Case errnum
     
            ' No error occurred.
            ' File is NOT already open by another user.
            Case 0
             IsFileOpen = False
     
            ' Error number for "Permission Denied."
            ' File is already opened by another user.
            Case 70
                IsFileOpen = True
     
            ' Another error occurred.
            Case Else
                Error errnum
        End Select
     
    End Function

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Mettre un On error juste avant un Workbooks.Open et vérifier le type d'erreur généré.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci Philippe , je vais tester , je te tiens au courant, @ +

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 8
    Points : 7
    Points
    7
    Par défaut merci Philippe , j ai testé , ca marche
    Citation Envoyé par kiki29 Voir le message
    Salut, peut-être ici ? ou alors via une recherche.
    Extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Sub TestFileOpened()
     
        ' Test to see if the file is open.
        If IsFileOpen("c:\Book2.xls") Then
            ' Display a message stating the file in use.
            MsgBox "File already in use!"
            '
            ' Add code here to handle case where file is open by another
            ' user.
            '
        Else
            ' Display a message stating the file is not in use.
            MsgBox "File not in use!"
            ' Open the file in Microsoft Excel.
            Workbooks.Open "c:\Book2.xls"
            '
            ' Add code here to handle case where file is NOT open by another
            ' user.
            '
        End If
     
    End Sub
     
    ' This function checks to see if a file is open or not. If the file is
    ' already open, it returns True. If the file is not open, it returns
    ' False. Otherwise, a run-time error occurs because there is
    ' some other problem accessing the file.
     
    Function IsFileOpen(filename As String)
        Dim filenum As Integer, errnum As Integer
     
        On Error Resume Next   ' Turn error checking off.
        filenum = FreeFile()   ' Get a free file number.
        ' Attempt to open the file and lock it.
        Open filename For Input Lock Read As #filenum
        Close filenum          ' Close the file.
        errnum = Err           ' Save the error number that occurred.
        On Error GoTo 0        ' Turn error checking back on.
     
        ' Check to see which error occurred.
        Select Case errnum
     
            ' No error occurred.
            ' File is NOT already open by another user.
            Case 0
             IsFileOpen = False
     
            ' Error number for "Permission Denied."
            ' File is already opened by another user.
            Case 70
                IsFileOpen = True
     
            ' Another error occurred.
            Case Else
                Error errnum
        End Select
     
    End Function

Discussions similaires

  1. [C# V1.1]Detecter si un fichier est deja ouvert ou pas !
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/10/2006, 10h54
  2. [DirectShow] rendu d'un fichier video deja ouvert
    Par el3gans dans le forum DirectX
    Réponses: 7
    Dernier message: 24/01/2006, 17h01
  3. Fichiers deja ouvert
    Par bakonu dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 01/07/2005, 14h53
  4. Detecter si un Fichier est deja ouvert
    Par Didier Derain dans le forum C++Builder
    Réponses: 8
    Dernier message: 25/02/2005, 20h27
  5. [VBA-E] Macro ouverture fichier déja ouvert
    Par bhaal76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo