Requete SQL VBA avec jointure classeur externe et interne
Bonjour,
Je me permets de vous écrire afin de demander de l'aide. J'utilise une requete SQL dans mon code vba pour récupérer des infos d'un classeur excel externe cependant je voulais savoir s'il est possible de faire une jointure entre mon classeur et le classeur externe?
Ex :
Tableau 1 (mon classeur) qui contient 2 colonnes A et B
Tableau 2 (classeur externe) qui contient 3 colonnes C D et F
le but est de faire une jointure entre les 2 tableau avec condition A=C et récupérer les colonnes du fichier externe C D et F
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Sub test()
Tableau_Ext = "GLOBAL_NORD$"
Cellule = "A10:BK5000"
Dim Cn As ADODB.Connection
Dim oCat As ADOX.Catalog
Dim Fichier As Variant
Dim Feuille As ADOX.Table
Dim Rst As ADODB.Recordset
Dim texte_SQL As String
Dim Ar() As String, i As Long
Fichier = Application.GetOpenFilename("Fichier Excel,*.xlsx")
If Fichier = False Then Exit Sub
Set Cn = New ADODB.Connection
Set oCat = New ADOX.Catalog
'Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"
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
End With
texte_SQL = "SELECT * FROM [" & Tableau_Ext & Cellule & "]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
Feuil3.Range("A2").CopyFromRecordset Rst |