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
A voir également:
- Excel vba adodb connection
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Gmail connection - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
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) ?
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) ?
le code plante lors de l'execution de rs.open... pas de message d'erreur juste vba qui freeze et ne repond plus
Ja' vérifié, il n'y a que des dates dans le fichier qui plante.
Merci pour la reponse.
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...)