Salut Xavier,
Je connais pas bien les QueryTable, mais pour faire ce que tu souhaite je t'invite à passer par ADO. Tu pourras lancer tes requêtes aussi bien.
Bon, pour ton problème, avec ADO, ben tu a un Recordset (qui contient le résultat de ta requête. Tu peux ensuite recopier les enregistrement 1 par 1 jusqu'à 65... Ensuite tu bascule dans un autre onglet et tu copies le reste.
Dans tous les cas tu ne pourra pas dépasser les 65K lignes max d'Excel.
Pour la string de connection à une base Oracle via ADO, je te fourni le code ci-après:
OLE DB Provider for Oracle (from Microsoft)
oConn.Open 'Provider=msdaora;' & _
'Data Source=MyOracleDB;' & _
'User Id=myUsername;' & _
'Password=myPassword'
For more information, see: Microsoft OLE DB Provider for Oracle
To view Microsoft KB articles related to OLE DB Provider for Oracle, click here
* OLE DB Provider for Oracle (from Oracle)
For Standard Security
oConn.Open 'Provider=OraOLEDB.Oracle;' & _
'Data Source=MyOracleDB;' & _
'User Id=myUsername;' & _
'Password=myPassword'
For a Trusted Connection
oConn.Open 'Provider=OraOLEDB.Oracle;' & _
'Data Source=MyOracleDB;' & _
'User Id=/;' & _
'Password='
' Or
oConn.Open 'Provider=OraOLEDB.Oracle;' & _
'Data Source=MyOracleDB;' & _
'OSAuthent=1'
Note: 'Data Source=' must be set to the appropriate Net8 name which is known to the naming method in use. For example, for Local Naming, it is the alias in the tnsnames.ora file; for Oracle Names, it is the Net8 Service Name.
For more information, see: Oracle Provider for OLE DB Developer's Guide
Bon courage