Bonjour,
je voudrais joindre deux tables qui sont dans deux fichiers excel distincts en utilisant ADO sous VBA. Voila mon code qui marche pour importer des donnees sur une table simple:
On Error Resume Next
Const adopenstatic = 3
Const adlockoptimistic = 3
Const adcmdtext = &H1
Dim query As String
Dim i As Long
Dim j As Integer
Set objConnection = CreateObject("ADODB.Connection" )
Set objRecordset = CreateObject("ADODB.Recordset" )
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & source & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
query = "Select * FROM [" & feuille & "$] where ENTETE_PAYS= 'FRANCE'"
objRecordset.Open query, objConnection, adopenstatic, adlockoptimistic, adcmdtext
J'ai besoin de cette jointure à plusieurs reprises pour extraire des informations d'une base de données sur des pays. Par exemple, j'ai dans un premier fichier la table:
ENTETE_PAYS, NOM_PAYS, DIRECTION
identifiant du pays, nom du pays, direction a gauche ou a droite
et dans un deuxieme fichier la 2e table:
ENTETE_REGION, ENTETE_PAYS
identifiant de la region geographique, identifiant du pays
et je souhaite avoir une table resultat
ENTETE_REGION, ENTETE_PAYS, DIRECTION
pour selectionner tous les pays qui ont la direction a droite dans la region Europe, et ensuite utiliser cette liste de pays pour afficher et comparer des informations économiques.
J'ai beaucoup de fichiers avec des tables assez grosses et donc je ne peux pas les regrouper dans un seul fichier Excel.
C'est essentiellement un probleme de syntaxe je suppose, car dans les exemples que je lis sur le net, il y a toujours une syntaxe du type [nomBase$].nomColonne d'utilisée pour les requetes sur des tables Access, que je n'arrive pas à transposer dans mon code pour tables excel qui lui est de type:
Code:
"Select * FROM [nomBase$] where nomColonne = 'L'"
Voila, message un peu long parce que je bloque dessus depuis un moment. Merci à ceux qui pourront m'aider!