Salut le Forum,

J'utilise ce code pour récupérer mes données.

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
Public Function PickData(oConn As Object, oRec As Object, sSQL As String) As Integer
    'connect to the DB, apply Query, (paste result in  sheet Search), return #result
    'connection DB----------------------------------------------------------------------------------
    oConn.Open CONNSTR_DB
 
    On Error Resume Next
    If oConn.State <> adStateOpen Then
        MsgBox "Error connecting to Database!"
        Exit Function
    End If
    On Error GoTo 0
 
    oRec.Open sSQL, oConn, adOpenStatic, adLockOptimistic, adCmdText
    PickData = oRec.RecordCount '#result
    'ClearSearch
    If PickData <> 0 Then shRecup.Range("M2").CopyFromRecordset oRec
    oRec.Close
    oConn.Close
    'deconnection-----------------------------------------------------------------------------------
End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
CONNSTR_DB = "PROVIDER=MICROSOFT.ACE.OLEDB.12.0;" & _
                       "DATA SOURCE=" & DataPath & DataFile & ";" & _
                       "Extended Properties=""Excel 12.0;HDR=YES;"";"
Quand il est exécuté à l'ouverture du fichier, aucun soucis.

Par contre, après avoir inséré une donnée (quand je fais un UPDATE, no problemo), j'ai un joli message d'erreur 'La Table externe n'est pas dans le format attendu'.

À quel moment :

Nom : 2023-09-06 12 34 59.png
Affichages : 543
Taille : 4,0 Ko

Bon, j'ai cherché un peu sans trouver. J'ai vérifié le fichier et tout semble correcte au niveau des données, même format etc.


Infos complémentaires :
  1. Si je prends le code à l'erreur et que je continue via F8, cela passe crème.
  2. Si par après, je repasse dans cette function, pas de soucis.



Encore une info :

Le fichier avec la db est au format .xlsx.


Si vous avez une piste, je suis évidemment preneur. Merci d'avance.