bonjour
Je souhaite importer toutes les lignes filtrées d'un fichier fermé sous excel sans passer par une boucle pour chaque champs , il y en a 30 ..
voici le code à remplacer :
For i = 1 To 30
Cells(1 + n, i) = Rs.Fields(i - 1).Value
Next i
voici le code complet:
Dim Cn As String
Dim Rs As ADODB.Recordset
Dim n As Long
Dim i As Byte
Dim Dossier As String, Cible As String
Dim Famillerecherche As String
Application.ScreenUpdating = False
Famillerecherche = ComboImport.Value
Dossier = "C:\Dg A commander\Extraction familles du 23 mars 09.xls"
Cn = "DRIVER={Microsoft Excel Driver (*.xls)};" & _
"ReadOnly=1;DBQ=" & Dossier & ";" & _
"extended properties=""Excel 8.0;"""
Cible = "SELECT DISTINCT * FROM [Extractions$] WHERE Famille = '" & Famillerecherche & "';"
Set Rs = New ADODB.Recordset
Rs.Open Cible, Cn, adOpenKeyset
' On Error Resume Next
Range("a2:ai36000").ClearContents
n = Range("b65000").End(xlUp).Row
Do While Not Rs.EOF
n = n + 1
For i = 1 To 30
Cells(1 + n, i) = Rs.Fields(i - 1).Value
Next i
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
ComboImport.AddItem "Produit"
ComboImport.AddItem "Livre"
ComboImport.AddItem "Musique"
End Sub
Merci
Carlos