Récupération de données sur plusieurs fichiers (prob lecture seul)

Bonjour à vous,

J'ai une macro qui fonctionne très bien pour aller récupérer et additionner ces données provenant de plusieurs fichiers contenus dans un même dossier.

Voici ma macro:

 Sub Actualisation()
' Microsoft ActiveX DataObject doit être coché
Dim LesLignes
Dim I As Integer, J As Integer, K As Integer
Dim Cnn As Object, Rs As Object
Dim Tbl
Dim Somme()

Application.ScreenUpdating = False

If Sheets("Sommaire").Range("B4") = "[Choisir votre section]" Then

Exit Sub

Else
 Sheets("Sommaire").Unprotect "essai"
M_A_J.Show vbModeless 'affiche l'userform nommé "patience"
M_A_J.Repaint 'rafraichit le contenu à placer
'commence le traitement
ReDim Somme(1 To 312)
Chemin = ThisWorkbook.Path & "\": Feuille = "Sommaire"
LesLignes = Array(8, 10, 15, 17, 22, 24, 29, 31, 36, 38, 43, 45, 50, 52, 57, 59, 64, 66, 71, 73, 78, 80, 85, 87)
For J = LBound(LesLignes) To UBound(LesLignes)
    For K = 1 To 13
        Sheets("Sommaire").Cells(LesLignes(J), K).ClearContents
    Next K
Next J

Fichier = Dir(Chemin & "*.xlsm")
Do While Len(Fichier) > 0
    If Fichier <> ThisWorkbook.Name Then
        Set Cnn = New ADODB.Connection
        Cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
            Chemin & Fichier & ";Extended Properties='Excel 12.0;HDR=No'"
        Set Rs = Cnn.Execute("[Sommaire$A1:M87]")
        Tbl = Rs.GetRows
        I = 1
        For J = LBound(LesLignes) To UBound(LesLignes)
            For K = 1 To 13
                Somme(I) = CDbl(Somme(I)) + CDbl(Tbl(K - 1, LesLignes(J) - 1)): I = I + 1
            Next K
        Next J
        Rs.Close
        Cnn.Close
    End If
    Fichier = Dir()
Loop
Set Rs = Nothing
Set Cnn = Nothing
With Sheets("Sommaire")
    I = 1
    For J = LBound(LesLignes) To UBound(LesLignes)
        For K = 1 To 13
            .Cells(LesLignes(J), K) = Somme(I): I = I + 1
        Next K
    Next J
End With

    Unload M_A_J 'décharge l'userform de la mémoire

 End If
 Sheets("Sommaire").Protect "essai"

Application.ScreenUpdating = True

End Sub

J'ai une problématique lorsque le fichier est déjà ouvert par une autre utilisateur.

Le fichier tombe alors en lecture seul et un message d'erreur s'affiche.

Erreur d'exécution '1004':La cellule ou le graphique que vous essayer de modifier se trouve sur une feuille protégée. Pour apporter une modification à celui-ci, vous devez ôter la protection de la feuille....

Pourtant si aucun fichier n'est ouvert, je n'obtient pas ce message.

Est-ce possible de contourner cette erreur?

Ou faire en sorte que même si le fichier est ouvert d'aller récupérer les données en lecture seul!!

Merci de votre aide.

Rechercher des sujets similaires à "recuperation donnees fichiers prob lecture seul"