Bonjour,

J'ai trouvé ce code sur un autre poste qui permet de créer une base de données à partir d'un classeur Excel fermé. Ca marche j'ai essayé.


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
Private Sub CommandButton1_Click()
Dim Conn As ADODB.Connection
Dim rsT As ADODB.Recordset
Dim Fichier As String, Direction As String, rSQL As String
 
     Direction = ThisWorkbook.Path
     Fichier = "maBase.xls"
 
     Set Conn = New ADODB.Connection
     With Conn
         .Provider = "Microsoft.Jet.OLEDB.4.0"
         .ConnectionString = "Data Source=" & Direction & "\" & Fichier & _
                                    ";Extended Properties=Excel 8.0;"
         .Open
     End With
 
 
     rSQL = "SELECT * FROM [Feuil1$] WHERE [nomColonne46] ='IN' AND  [nomColonne47] ='N'"
 
     Set rsT = New ADODB.Recordset
     With rsT
         .ActiveConnection = Conn
         .Open rSQL, , adOpenKeyset, adLockOptimistic, adCmdTableDirect
     End With
 
     Range("A1").CopyFromRecordset rsT
     rsT.Close
     Conn.Close
 
End Sub

Par contre, en ce qui me concerne, les données se trouve dans le même fichier excel où se trouve le code VBA, feuille1 par exple et le classeur n'est donc pas fermé non plus.

Comment faire pour créer une base avec les données du fichier en cours ?

Des idées ?
Merci d'avance

Damsmut