ADO + Excel

D

DeeJoh

Guest
Bonjour à tous,


voilà dans un classeur excel je dois importer tous les enregistrements ayant en colonne 46=IN et en colonne 47 = N . Ces enregistrement sont répartis sur 2 feuilles nommée A et B .

J'ai donc réalisé une procédure sans ADO mais il s'avère que sur 50000 enregistrement c'est trés lent.

J'aimerai donc savoir comment je peux faire en utilisant ADO ?

Merci d'avance
 

MichelXld

XLDnaute Barbatruc
bonjour

j'ai deja eu l'occasion de te répondre sur un autre forum , mais je remets la solution au cas ou cela interesserait quelqu'un d'autre sur XLD...;o)


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



bon apres midi
MichelXld


ps
petit coucou à david qui a du avoir beaucoup e travail ces dernierees heures

Message édité par: michelxld, à: 28/01/2006 14:36
 

Discussions similaires

Réponses
16
Affichages
662
Réponses
7
Affichages
371
Réponses
9
Affichages
215
Réponses
6
Affichages
374

Statistiques des forums

Discussions
312 429
Messages
2 088 352
Membres
103 824
dernier inscrit
frederic.marien@proximus.