Bonjour,
Je suis en train de faire une petite macro qui va récupérer des données dans 3 classeurs Excel distincts, sans les ouvrir, en vue d'un traitement ultérieur.
Je me connecte en ADO, et si pour les deux premiers fichiers, la récupération de données se passe bien, ça coince sur le 3eme :
Je ne veux récupérer qu'une colonne, qui contient 1479 entrées, mais même si le recordset.count vaut 1479, il ne me récupère que 236 lignes.
les données contenues sur les lignes 1 à 236 sont du numérique sur 13 caractères avec un zéro en #1, à partir de la ligne 237, j'ai un mélange d'alpha et de numérique : 2 lettres puis 11 nombres.
Ça semble lui poser problème mais pourquoi ? Merci de votre aide
Voici mon code :
Code :
- Set connexion = New ADODB.Connection
- Set RS = New ADODB.Recordset
-
- '--- Connexion ---
- With connexion
- .Provider = "Microsoft.Jet.OLEDB.4.0"
- .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
- & Fichier_src & ";Extended Properties=""Excel 8.0;HDR=No;"""
- .Open
- End With
-
- Sql = "SELECT * from `" & Onglet_src & "$B2:B2000`"
- Set RS = connexion.Execute(Sql)
- RS.MoveFirst
-
- ThisWorkbook.Worksheets("Histo contrôles" ).Range("A1" ).CopyFromRecordset RS
-
- connexion.Close
- Set RS = Nothing
- Set commande = Nothing
- Set connexion = Nothing
|
Message édité par karoli le 02-10-2018 à 13:37:05