Bonjour,

Je cherche à faire des INSERT dans un classeur xlsx en DAO. tout fonctionne bien sauf pour les dates.
Le code suivant me renvoie une erreur de syntaxe dans l'instruction SQL.
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
Private Sub TestDates()
Dim ConnexionDonnees As ADODB.Connection     'Connexion au classeur des données
Dim Enregistrements As ADODB.Recordset
Dim Commande As ADODB.Command
Dim Requete As String
Dim FichierDonnees As String
 
'On récupère le chemin du classeur
    FichierDonnees = ThisWorkbook.Path & "\Comptes Familiaux - Donnees.xlsx"
 
'On ouvre la connexion aux données
    Set ConnexionDonnees = New ADODB.Connection
    With ConnexionDonnees
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
            & FichierDonnees & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;ReadOnly=False;"""
        .Open
    End With
 
    Requete = "INSERT INTO [Ecritures$] (Date) VALUES (#12/31/2020#)"
 
    Set Commande = New ADODB.Command
    Set Enregistrements = New ADODB.Recordset
        Enregistrements.CursorType = adOpenDynamic
        Enregistrements.LockType = adLockOptimistic
 
    With Commande
        .ActiveConnection = ConnexionDonnees
        .CommandType = adCmdText
        .CommandText = Requete
        .Execute
    End With
 
    Set Commande = Nothing
    Set Enregistrements = Nothing
 
 
End Sub
J'ai fait différents essais. si je mets n'importe quoi entre quotes simples, comme pour une String, ça plante aussi, ce qui tend à prouver que le champ est bien reconnu comme étant de type date (en tout cas pas string)...

Qui peut m'aider ?