Bonjour à tous

Je me mets tout tout doucement au VBA d'Access ...
Voici mon petit bout de code, honteusement pompé de ci de là ...
La macro est déclenchée par un bouton dans un formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Btn_Formulaire1_Click()
'Paramètres de connection
Set Cnx = New ADODB.Connection
Cnx.Provider = "Microsoft.Jet.Oledb.4.0"
Cnx.ConnectionString = "E:\Mes documents\SuivisDesCadeaux.mdb"
Cnx.Open
 
'Zone de requête
Dim ListFields As String
ListFields = "TP,Paye,Beneficiaire"
Cnx.Execute "INSERT INTO Suivis_des_coupons (TP,Paye,Beneficiaire,CodeCoupon) VALUES('" & TP_Form & "','" & Chkb_Paye & "','" & Benef & "','" & CodeCoup & "')"
Cnx.Close
End Sub
La macro fonctionne bien, quand elle veut bien ...
Lorsqu'elle arrive à Cnx.Open, il m'arrive, mais pas tout le temps , d'avoir un message d'erreur du style : "La base de données a été placée par l'utilisateur "Admin" dans un état l'empêchant d'être ouvert ou verrouillée"
Pourtant, j'ai bien mon Cnx.Close ...
Je ne vois pas bien d'ou ca peut venir ?? Une petite idée ???