ADO - Limites 65536 lignes ?

Le
michdenis
Nouvelle tentative :

Bonnjour à toutes et à tous,

A ) Êtes-vous toujours là ? le forum ?
Depuis 4 - 5 jours, le moins que je peux dire est que la communication a été
difficile.
Est-ce que quelqu'un pourrait dire à Garnote de s'enlever le pied sur le cable ?

B ) Petite observation si le message passe
Hier, j'ai utilisé ADO (activex data object 2.8 librairy) pour effectuer une requête
sur une table d'excel 2007 contenant environ 70,000 lignes. Quelle fut ma surprise
de me rendre compte que je n'était pas capable (ado) d'aller au delà de 65536 lignes
limite d'excel 2003!
La question : Est-ce que quelqu'un sait si c'est une limite réelle d'ADO dans Excel ou
s'il y a une manipulation qui nous permet d'aller au-delà de cette limite ?

Merci de votre participation.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #18798291
Bonsoir,

pourtant tu as vu la réponse d'Isabelle d'autres ont suivi

qui confirment des difficultés :

celui de Philippe

ou qui te proposent une solution:

celui de Daniel C que voici ci après
et qui s'inspire d'un site que j'apprécie et particulièrement de la doc
VBA dont il cite la référence de l'auteur )

--
'lSteph
(Il faudra vraiment que je me mette à cet ADODB un de ces jours)

////donc de Daniel
Bonjour.

Je suis tombé sur ce code :
(http://silkyroad.ftp-developpez.com/VBA/ClasseursFermes/ClasseursFermes.pdf)

Sub RequeteClasseurFerme_Excel2007()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "e:donneesdanielmpfevolume.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Volume"
Set Cn = New ADODB.Connection
'--- Connexion ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
'Requête
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Range("A2").CopyFromRecordset Rst
'--- Fermeture connexion ---
.Close
End With

Set Cn = Nothing
End Sub

Ca a l'air de faire l'affaire.
Daniel

> Et bien, Merci Isabelle.
> Je posais la question pour savoir si d'autres avaient éprouvé cette
difficulté. J'ai trouvé cela surprenant car ADO à l'extérieur de
l'environnement d'excel est plutôt limité par la capacité du système...
le plus surprenant c'est que la requête bloque dès que je lui demande
d'aller au delà de 65536 lignes... ce qui est la limite d'excel 2003...
Lorsque le temps s'y prêtera, je ferai quelques tests supplémentaires et
utilisant en outre le pilote ODBC plutôt que la version
"Microsoft.Jet.OLEDB.4.0"
>
> N.B. ça fait plus que 2 jours que le message fut envoyé...nous serons
bientôt
> obligé d'envoyer nos messages par bateau !!! ;-))
>
> Bonne journée.
>
>
>
> "isabelle" a écrit dans le message de groupe de discussion :

> bonjour Denis,
>
> ma réponse est seulement pour que tu voie ton message, je n'ai pas
> xl2007 désole,
>
> isabelle
>
> michdenis a écrit :
>> Bonjour à toutes et à tous,
>>
>> A ) Êtes-vous toujours là ? le forum ?
>> Depuis 4 - 5 jours, le moins que je peux dire est que la
communication a été difficile.
>> Est-ce que quelqu'un pourrait dire à Garnote de s'enlever le
pied sur le cable ?
>>
>> B ) Petite observation si le message passe...
>> Hier, j'ai utilisé ADO (activex data object 2.8 librairy) pour
effectuer une requête sur une table d'excel 2007 contenant environ
70,000 lignes. Quelle fut ma surprise de me rendre compte que je
n'était pas capable (ado) d'aller au delà de 65536 lignes limite
d'excel 2003...!
>> La question : Est-ce que quelqu'un sait si c'est une limite
réelle d'ADO dans Excel ou
>> s'il y a une manipulation qui nous permet d'aller au-delà de
cette limite ?
>>
>> Merci de votre participation.
>>
>>



michdenis a écrit :
Nouvelle tentative :

Bonnjour à toutes et à tous,

A ) Êtes-vous toujours là ? le forum ?
Depuis 4 - 5 jours, le moins que je peux dire est que la communication a été
difficile.
Est-ce que quelqu'un pourrait dire à Garnote de s'enlever le pied sur le cable ?

B ) Petite observation si le message passe...
Hier, j'ai utilisé ADO (activex data object 2.8 librairy) pour effectuer une requête
sur une table d'excel 2007 contenant environ 70,000 lignes. Quelle fut ma surprise
de me rendre compte que je n'était pas capable (ado) d'aller au delà de 65536 lignes
limite d'excel 2003...!
La question : Est-ce que quelqu'un sait si c'est une limite réelle d'ADO dans Excel ou
s'il y a une manipulation qui nous permet d'aller au-delà de cette limite ?

Merci de votre participation.




isabelle
Le #18798281
salut Denis,

je ne sais pas si tu as vu la réponse fait par Daniel.C
je la joint à ce message au cas ou..
_______________________________________________________________
Je suis tombé sur ce code :
(http://silkyroad.ftp-developpez.com/VBA/ClasseursFermes/ClasseursFermes.pdf)


Sub RequeteClasseurFerme_Excel2007()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "e:donneesdanielmpfevolume.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Volume"
Set Cn = New ADODB.Connection
'--- Connexion ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
'Requête
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Range("A2").CopyFromRecordset Rst
'--- Fermeture connexion ---
.Close
End With

Set Cn = Nothing
End Sub

Ca a l'air de faire l'affaire.
Daniel
_______________________________________________________________

michdenis a écrit :
Nouvelle tentative :

Bonnjour à toutes et à tous,

A ) Êtes-vous toujours là ? le forum ?
Depuis 4 - 5 jours, le moins que je peux dire est que la communication a été
difficile.
Est-ce que quelqu'un pourrait dire à Garnote de s'enlever le pied sur le cable ?

B ) Petite observation si le message passe...
Hier, j'ai utilisé ADO (activex data object 2.8 librairy) pour effectuer une requête
sur une table d'excel 2007 contenant environ 70,000 lignes. Quelle fut ma surprise
de me rendre compte que je n'était pas capable (ado) d'aller au delà de 65536 lignes
limite d'excel 2003...!
La question : Est-ce que quelqu'un sait si c'est une limite réelle d'ADO dans Excel ou
s'il y a une manipulation qui nous permet d'aller au-delà de cette limite ?

Merci de votre participation.





LSteph
Le #18798261
Les grands escomptes se remplissent!

isabelle a écrit :
salut Denis,

je ne sais pas si tu as vu la réponse fait par Daniel.C
je la joint à ce message au cas ou..
_______________________________________________________________
Je suis tombé sur ce code :
(http://silkyroad.ftp-developpez.com/VBA/ClasseursFermes/ClasseursFermes.pdf)


Sub RequeteClasseurFerme_Excel2007()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "e:donneesdanielmpfevolume.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Volume"
Set Cn = New ADODB.Connection
'--- Connexion ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
'Requête
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Range("A2").CopyFromRecordset Rst
'--- Fermeture connexion ---
.Close
End With

Set Cn = Nothing
End Sub

Ca a l'air de faire l'affaire.
Daniel
_______________________________________________________________

michdenis a écrit :
Nouvelle tentative :

Bonnjour à toutes et à tous,

A ) Êtes-vous toujours là ? le forum ?
Depuis 4 - 5 jours, le moins que je peux dire est que la
communication a été
difficile.
Est-ce que quelqu'un pourrait dire à Garnote de s'enlever le pied
sur le cable ?

B ) Petite observation si le message passe...
Hier, j'ai utilisé ADO (activex data object 2.8 librairy) pour
effectuer une requête
sur une table d'excel 2007 contenant environ 70,000 lignes. Quelle
fut ma surprise
de me rendre compte que je n'était pas capable (ado) d'aller au
delà de 65536 lignes
limite d'excel 2003...!
La question : Est-ce que quelqu'un sait si c'est une limite réelle
d'ADO dans Excel ou
s'il y a une manipulation qui nous permet d'aller au-delà de cette
limite ?

Merci de votre participation.







LSteph
Le #18798511
Salut Isabelle,

finalement il marche pas si mal le forum
ca doit dépendre des outils utilisés!

...

;-))

Bonne nuit.

LSteph
isabelle
Le #18798501
je crois que Denis est à Québec, il ont reçue + de 60 cm de neige la
semaine dernière, c'est peut être pour ça que l'on reçois ses messages
du 27 fev. seulement aujourd'hui ;-)
isabelle

LSteph a écrit :
Les grands escomptes se remplissent!

isabelle a écrit :
salut Denis,

je ne sais pas si tu as vu la réponse fait par Daniel.C
je la joint à ce message au cas ou..
_______________________________________________________________
Je suis tombé sur ce code :
(http://silkyroad.ftp-developpez.com/VBA/ClasseursFermes/ClasseursFermes.pdf)


Sub RequeteClasseurFerme_Excel2007()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "e:donneesdanielmpfevolume.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Volume"
Set Cn = New ADODB.Connection
'--- Connexion ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
'Requête
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Range("A2").CopyFromRecordset Rst
'--- Fermeture connexion ---
.Close
End With

Set Cn = Nothing
End Sub

Ca a l'air de faire l'affaire.
Daniel
_______________________________________________________________

michdenis a écrit :
Nouvelle tentative :

Bonnjour à toutes et à tous,

A ) Êtes-vous toujours là ? le forum ?
Depuis 4 - 5 jours, le moins que je peux dire est que la
communication a été
difficile.
Est-ce que quelqu'un pourrait dire à Garnote de s'enlever le
pied sur le cable ?

B ) Petite observation si le message passe...
Hier, j'ai utilisé ADO (activex data object 2.8 librairy) pour
effectuer une requête
sur une table d'excel 2007 contenant environ 70,000 lignes.
Quelle fut ma surprise
de me rendre compte que je n'était pas capable (ado) d'aller au
delà de 65536 lignes
limite d'excel 2003...!
La question : Est-ce que quelqu'un sait si c'est une limite
réelle d'ADO dans Excel ou
s'il y a une manipulation qui nous permet d'aller au-delà de
cette limite ?

Merci de votre participation.









MichDenis
Le #18798561
| je crois que Denis est à Québec

Je suis de la région de Montréal ! Même pas un brin de neige
comme raison ... ;-) Que j'utilise Windows Live Mail ou
Windows Mail le résultat est sensiblement pareil bien
qu'un peu meilleur... Peut être fait-on de la maintenance
sur certains serveurs ?



"isabelle" a écrit dans le message de groupe de discussion :

je crois que Denis est à Québec, il ont reçue + de 60 cm de neige la
semaine dernière, c'est peut être pour ça que l'on reçois ses messages
du 27 fev. seulement aujourd'hui ;-)
isabelle

LSteph a écrit :
Les grands escomptes se remplissent!

isabelle a écrit :
salut Denis,

je ne sais pas si tu as vu la réponse fait par Daniel.C
je la joint à ce message au cas ou..
_______________________________________________________________
Je suis tombé sur ce code :
(http://silkyroad.ftp-developpez.com/VBA/ClasseursFermes/ClasseursFermes.pdf)


Sub RequeteClasseurFerme_Excel2007()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "e:donneesdanielmpfevolume.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Volume"
Set Cn = New ADODB.Connection
'--- Connexion ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
'Requête
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Range("A2").CopyFromRecordset Rst
'--- Fermeture connexion ---
.Close
End With

Set Cn = Nothing
End Sub

Ca a l'air de faire l'affaire.
Daniel
_______________________________________________________________

michdenis a écrit :
Nouvelle tentative :

Bonnjour à toutes et à tous,

A ) Êtes-vous toujours là ? le forum ?
Depuis 4 - 5 jours, le moins que je peux dire est que la
communication a été
difficile.
Est-ce que quelqu'un pourrait dire à Garnote de s'enlever le
pied sur le cable ?

B ) Petite observation si le message passe...
Hier, j'ai utilisé ADO (activex data object 2.8 librairy) pour
effectuer une requête
sur une table d'excel 2007 contenant environ 70,000 lignes.
Quelle fut ma surprise
de me rendre compte que je n'était pas capable (ado) d'aller au
delà de 65536 lignes
limite d'excel 2003...!
La question : Est-ce que quelqu'un sait si c'est une limite
réelle d'ADO dans Excel ou
s'il y a une manipulation qui nous permet d'aller au-delà de
cette limite ?

Merci de votre participation.









MichDenis
Le #18798711
| finalement il marche pas si mal le forum
| ca doit dépendre des outils utilisés!

Effectivement, durant les dernières années,
je n'avais aucune difficulté avec Windows xp pro
et Excel 2003 et Internet explorer 6.

Windows 7 s'en vient vers la fin de l'automne !
Modeste
Le #18801321
Bonsour® MichDenis

Peut être fait-on de la maintenance
sur certains serveurs ?



Il est tout à fait certain que même les serveurs de Seattle ont quelquefois besoins de maintenance !!!

ce même 27/02 entre 20h46 (GMT +1) et 28/02 01h30 (GMT+1)
il n'y avait plus aucun nouveau message
même le mien 22h39(GMT +1) n'est apparu que le lendemain
j'en aperçois même un, seulemenrt aujourdhui qui vient de s'intercaler à 27/02 21h58 (GMT +1)

j'ai effectué une synchro complete sur MPFE ...
à cette heure-ci (02/03 11h38 GMT +1) : 8602 messages répertoriés
MichDenis
Le #18802021
| Il est tout à fait certain que même les serveurs de Seattle ont quelquefois besoins de
maintenance !!!

Allons voir ce que la semaine réserve !
;-)
Publicité
Poster une réponse
Anonyme