Bonjour,
Je souhaite enregistrer des lignes de mon fichier Excel 2010 vers Access 2010.
Pour cela voici 1 marco vba qui s’exécute lorsqu'on clique sur un bouton présent dans le fichier excel: on veut enregistrer le tableau dans une table access 2010.


J'ai une erreur sur la ligne suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=BDD.accdb; "
Format de base de données BDD.accdb non reconnu

Lorsque je modifie la ligne par

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=BDD.accdb; & ""Extended Properties=""Excel 8.0;HDR=Yes;"";"

Pilote ISAM introuvable

J'ai ajouté diverses références mais rien n'y fait j'ai toujours des erreurs

Voici mon code complet

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
61
62
63
64
65
66
67
68
69
70
71
72
Sub ADOFromExcelToAccess()
 
    ' exports data from the active worksheet to a table in an Access database this procedure must be edited before use
 
    Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
 
 
    ' connect to the Access database
 
    Set cn = New ADODB.Connection
 
    'cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=AXAPM_REPORT.accdb;"
'cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=AXAPM_REPORT.accdb;"
'cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=Z:\03-Opérations\AXA PM PROJETS\REPORTING ENCOURS\RECETTE\AXAPM_REPORT.accdb;"
 cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=BDD.accdb; "
    ' open a recordset
 
    Set rs = New ADODB.Recordset
 
    rs.Open "SUIVI", cn, adOpenKeyset, adLockOptimistic, adCmdTable
 
 
    ' all records in a table
 
 
    r = 2 ' the start row in the worksheet
 
    Do While Len(Range("A" & r).Formula) > 0
 
    ' repeat until first empty cell in column A
 
        With rs
 
            .AddNew ' create a new record
 
 
            ' add values to each field in the record
 
            .Fields("ID") = Range("A" & r).Value
 
            .Fields("CODE") = Range("B" & r).Value
 
            .Fields("DATE") = Range("C" & r).Value
            .Fields("NB_JOURS") = Range("D" & r).Value
            .Fields("VALUE") = Range("E" & r).Value
            .Fields("ACTIF") = Range("F" & r).Value
            .Fields("NB") = Range("G" & r).Value
            .Fields("FDG1") = Range("H" & r).Value
            .Fields("FDG2") = Range("I" & r).Value
             .Fields("ECART") = Range("J" & r).Value
 
            ' add more fields if necessary...
 
 
            .Update ' stores the new record
 
        End With
 
        r = r + 1 ' next row
 
    Loop
 
 
    rs.Close
 
    Set rs = Nothing
 
    cn.Close
 
    Set cn = Nothing
 
End Sub
merci beaucoup de votre aide.