Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Importer ligne entiere plutot que champs par champs

carlos

XLDnaute Impliqué
Supporter XLD
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
 

Discussions similaires

Réponses
9
Affichages
248
Réponses
6
Affichages
421
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…