importer Access2007 vers excel

seb33

XLDnaute Junior
Bonjour

pour me connecter à une base 2003 (*.mdb), j'utilise la formulation suivante:
Dim conn As ADODB.Connection
Dim req_projet As ADODB.Recordset
Dim Fichier As String, requete_name As String
Dim i As Byte, a As Byte
Fichier = "c:\DBmodule.mdb"
requete_name = "Query_projet_choice"

Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Fichier & ";"
Set req_projet = New ADODB.Recordset

With req_projet
.ActiveConnection = conn
.Open "SELECT * FROM " & requete_name, , adOpenStatic, adLockOptimistic, adCmdText
End With

Sheets("projet").Range("D2").CopyFromRecordset req_projet

req_projet.Close
Set req_projet = Nothing
conn.Close
Set conn = Nothing
i = Application.WorksheetFunction.CountA(Sheets("projet").Range("$D:$D"))
For a = 1 To i
Sheets("projet").Range("C" & a + 1).Value = Sheets("projet").Range("D" & a + 1) & " " & Sheets("projet").Range("E" & a + 1).Value
Next a

bien évidemment cela ne fonctionne pas pour me lier à une base 2007 (*.accdb).

existe-t-il un code équivalent 2007 (30 fois moins lourd qu'excel 2003, ya pas photo :))
merci
seb
 

seb33

XLDnaute Junior
Re : importer Access2007 vers excel

bon, par hasard je suis tombé sur la solution.
la voici:
Dim conn As ADODB.Connection
Dim req_projet As ADODB.Recordset
Dim Fichier As String, requete_name As String
Dim i As Byte, a As Byte
Fichier = "c:\DBmodule.accdb"
requete_name = "Query_projet_choice"

Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Fichier & ";"
Set req_projet = New ADODB.Recordset

With req_projet
.ActiveConnection = conn
.Open "SELECT * FROM " & requete_name, , adOpenStatic, adLockOptimistic, adCmdText
End With

Sheets("projet").Range("D2").CopyFromRecordset req_projet

req_projet.Close
Set req_projet = Nothing
conn.Close
Set conn = Nothing
i = Application.WorksheetFunction.CountA(Sheets("proje t").Range("$D:$D"))
For a = 1 To i
Sheets("projet").Range("C" & a + 1).Value = Sheets("projet").Range("D" & a + 1) & " " & Sheets("projet").Range("E" & a + 1).Value
Next a
en rouge les modifs à apporter
A+
seb
 

Discussions similaires

Réponses
12
Affichages
288
Réponses
11
Affichages
347
Réponses
2
Affichages
303

Statistiques des forums

Discussions
312 490
Messages
2 088 882
Membres
103 981
dernier inscrit
vinsalcatraz