Bonjour à tous.

Je suis devant une erreur que je ne comprends pas et pour laquelle je n'ai pas trouvé de solution dans tous les posts traitant du sujet ici (ou même ailleurs du reste).
Tout d'abords j'ai installé deux chose dans ACCESS :
- https://github.com/VBA-tools/VBA-JSON/releases VBA JSON
- https://github.com/VBA-tools/VBA-Dictionary VBA-Dictionnary

Mon but est de lire une chaine JSON (un retour de l'API IMDB pour info) et extraire les champs pour fabriquer une table correspondant à la structure de la chaine.
Ensuite, j'importerais les données dans cette table. Comme ça je me conforme au modèle de donnée de IMDB et je suis tranquille.

Ensuite j'ai trouvé cela pour m'aider à récupérer la structure JSON : https://askcodez.com/analyse-de-flux...ms-access.html
J'ai fait un formulaire et j'ai posé un bouton dedans. Voici mon code actuel :

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Option Compare Database

Private Sub btnOuvrirJson_Click()
Dim AppExcel As New Excel.Application
Dim pathretourne As Variant
 
pathretourne = AppExcel.GetopenfileName
 
If pathretourne <> False Then
    JSONImport (pathretourne)
Else
    MsgBox "Ce n'est pas une chaine JSON valide"
End If
End Sub

Private Function JSONImport(CheminJson As String)
    Dim db As Database, qdef As QueryDef
    Dim FileNum As Integer
    Dim DataLine As String, jsonStr As String, strSQL As String
    Dim p As Object, element As Variant

    Set db = CurrentDb

    ' READ FROM EXTERNAL FILE
    FileNum = FreeFile()
    Open CheminJson For Input As #FileNum

    ' PARSE FILE STRING
    jsonStr = ""
    While Not EOF(FileNum)
        Line Input #FileNum, DataLine

        jsonStr = jsonStr & DataLine & vbNewLine
    Wend
    Close #FileNum
    Set p = ParseJson(jsonStr)
    
    ' ITERATE THROUGH DATA ROWS, APPENDING TO TABLE
    For Each element In p
        strSQL = "PARAMETERS [col1] Long, [col2] Text(255), [col3] Text(255), " _
                          & "[col4] Text(255), [col5] Text(255); " _
                  & "INSERT INTO TableName (col1, col2, col3, col4, col5) " _
                          & "VALUES([col1], [col2], [col3], [col4], [col5]);"

        Set qdef = db.CreateQueryDef("", strSQL)

        qdef!col1 = element("col1")
        qdef!col2 = element("col2")
        qdef!col3 = element("col3")
        qdef!col4 = element("col4")
        qdef!col5 = element("col5")

        'qdef.Execute
        MsgBox qdef, vbCritical, "on va voir"
    Next element

    Set element = Nothing
    Set p = Nothing
End Function
Lorsque je clique sur le bouton le programme démarre bien, me demande d'ouvrir la fichier JSON et ensuite il plante sur la ligne que j'ai mis en rouge et me dit :
Erreur d'exécution '438':
Propriété ou méthode non gérée par cet objet
J'en déduit qu'il ne doit pas trouver les 'element' dans p mais je n'arrive pas à comprendre pourquoi parce que je dois bien avouer que je ne comprends pas tout dans le code de VBA-Dictionnary et de VBA-JSON
Ou alors j'ai un souci de version, mais je sais pas.

Pourriez-vous m'aider ?
Merci d'avance.