Microsoft 365 Deja ouvert , sur sharepoint

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 !

pbblois

XLDnaute Nouveau
Bonjour a tous ,
je cherche le moyen d'indiquer a l'utilisateur que le fichier excel qu'il vient d'ouvrir est deja ouvert par une autre personne .
Ce fichier excel est sur un sharepoint , et parfois mappé sur le pc des utilisateurs et donc visible dans le file explorer .
Par avance merci
 
Salut, à adapter à ton contexte
VB:
Option Explicit

Sub Tst()
Dim sChemin As String
    sChemin = ThisWorkbook.Path
    With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = sChemin & "\"
        .Title = "Sélectionner le Fichier"
        .AllowMultiSelect = False
        .InitialView = msoFileDialogViewDetails
        .ButtonName = "Sélection Fichier"
        .Show
        If .SelectedItems.Count > 0 Then
            DoEvents
            TestIsFileOpen .SelectedItems(1)
        End If
    End With
End Sub

Private Sub TestIsFileOpen(sFichier As String) 
    If IsFileOpen(sFichier) Then
        MsgBox "File already in use!"
    Else
        MsgBox "File not in use!"
        'Workbooks.Open sFichier
    End If
End Sub

Private 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
        Case Else
            Error errnum
    End Select
End Function

' Brutal .....
Private Function IsFileOpenLight(filename As String) As Boolean
Dim fichier As Integer
    On Error Resume Next

    fichier = FreeFile()
    Open filename For Input Access Read Lock Read Write As fichier

    If Err.Number = 0 Then
        IsFileOpenLight = False
        Close fichier
    Else
        IsFileOpenLight = True
    End If
End Function
 
Dernière édition:
Salut, à adapter à ton contexte
VB:
Option Explicit

Sub Tst()
Dim sChemin As String
    sChemin = ThisWorkbook.Path
    With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = sChemin & "\"
        .Title = "Sélectionner le Fichier"
        .AllowMultiSelect = False
        .InitialView = msoFileDialogViewDetails
        .ButtonName = "Sélection Fichier"
        .Show
        If .SelectedItems.Count > 0 Then
            DoEvents
            TestIsFileOpen .SelectedItems(1)
        End If
    End With
End Sub

Private Sub TestIsFileOpen(sFichier As String)
    If IsFileOpen(sFichier) Then
        MsgBox "File already in use!"
    Else
        MsgBox "File not in use!"
        Workbooks.Open sFichier
    End If
End Sub

Private 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
        Case Else
            Error errnum
    End Select
End Function

Private Function IsFileOpenLight(filename As String) As Boolean
Dim fichier As Integer
    On Error Resume Next

    fichier = FreeFile()
    Open filename For Input Access Read Lock Read Write As fichier

    If Err.Number = 0 Then
        IsFileOpenLight = False
        Close fichier
    Else
        IsFileOpenLight = True
    End If
End Function


Presque Super 🙂
Comment je peux faire pour ne pas a avoir a selectioner un fichier ? que cela controle toujours le meme fichier ? en l'occurence , celui avec ce bout de code.
 
- 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