Excel vba adodb connection
Alex
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Salut,
j'utilise une macro VBA dans excel 2007 qui va chercher des données ds un autre fichier excel grace a une connection adodb.
Cette macro va chercher la max date de la colonne 1 (colonne qui s'appelle DATE).
Ca marche tres bien sur tous mes fichiers, sauf 1 qui a plus de lignes (environ 45k lignes) que les autres (10k lignes en moyenne)
Sur ce fichier plus gros, vba ne repond plus et je dois l'arreter brutalement pour recuperer la main.
Qqun saurait pourquoi ca plante comme ca, et comment je peux contourner le pb?
merci d'avance
j'utilise une macro VBA dans excel 2007 qui va chercher des données ds un autre fichier excel grace a une connection adodb.
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & source & ";Extended Properties=Excel 12.0 Xml;"
.Open
End With
Set rs = New ADODB.Recordset
rs.Open ("select max(DATE) from [table]"), cn
Cette macro va chercher la max date de la colonne 1 (colonne qui s'appelle DATE).
Ca marche tres bien sur tous mes fichiers, sauf 1 qui a plus de lignes (environ 45k lignes) que les autres (10k lignes en moyenne)
Sur ce fichier plus gros, vba ne repond plus et je dois l'arreter brutalement pour recuperer la main.
Qqun saurait pourquoi ca plante comme ca, et comment je peux contourner le pb?
merci d'avance
2 réponses
-
Bonjour
difficile à dire car pas de problèmes pour 45000 lignes mais peut-^tre que:
Le code se termine t'il bien
par set cn=nothing et set rs=nothing ?
dans le classeur fautif, les données sont elles cohérentes dans la colonne "date" (format identique)? si différence (texte et nombre), Max ne peut pas être calculer (incompatiblité de type) ?
-
-
Je sèche
Peut ^tre à la maison mère ?
https://docs.microsoft.com/en-us/previous-versions/tn-archive/ee692882(v=technet.10)?redirectedfrom=MSDN
si tu peux me tenir au courant d'une éventuelle solution, cela me rendrait service; d'avance MercI;
(je continue de chercher si la fonction Max de SQL n'a pas une limite...)
-
-
UPDATE:
en fait, ca plante sur 3 fichiers qui ont tous 34638 lignes ou +
et ca marche sur tous les fichiers qui ont 32558 lignes ou -.
je pense que ca doit planter a partir de 2^15 lignes... tout semble l'indiquer pour le moment