1 pièce(s) jointe(s)
[ADO] fichier ouvert sur un autre poste
Bonjour,
j'aurais besoin de votre aide, je rencontre un problème avec ma macro qui s’arrête avec un petit message..
Pièce jointe 504277
Après analyse, je me suis aperçu que le problème arrive quand la macro analyse un fichier ouvert sur un autre PC du réseau. après avoir fait fermé ce fichier tout fonctionne
Je ne sais pas du tout comment palier à ce problème..
voici une parti du code
L'arret de la macro ce fait que la ligne
Code:
Sheets(OngletAnalyse).Range("A1").CopyFromRecordset Rst
Code:
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
|
Set Cn = New ADODB.Connection
Set oCat = New ADOX.Catalog
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& rep & "\" & Nom_fic(x) & ";Extended Properties=""Excel 12.0;HDR=NO;"""
.Open
End With
Set oCat.ActiveConnection = Cn
For Each FeuilleT In oCat.Tables
Onglet = Replace(FeuilleT.Name, "'", "")
Onglet = Replace(Onglet, "$", "")
'Onglet = Replace(Onglet, "#", ".")
If InStr(Onglet, "Print_Area") = "0" And InStr(Onglet, "_xlnm.") = "0" And InStr(Onglet, "Print_Titles") = "0" And InStr(Onglet, "FilterDatabase") = "0" Then
nbonglet = nbonglet + 1
Nom_onglet(nbonglet) = Onglet
End If
Next
Set FeuilleT = Nothing
Set oCat = Nothing
For y = 1 To nbonglet
texte_SQL = "SELECT * FROM [" & Nom_onglet(y) & "$]"
Debug.Print Nom_onglet(y) '6066 Onglet
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
Sheets(OngletAnalyse).Range("A1").CopyFromRecordset Rst |
Merci pour votre aide