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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager