Si un jour ça t'intéresse on pourra aborder le sujet!
Ici il faut le voir comme un programme complet encapsulées dans une variable objet.
Mais un module de classe permet des chose très puissant avec de collection!
Notes qu'un module de classe implique une autre façon de raisonner.
Mais pour l'instant j'estime avoir pollué suffisamment le poste de notre ami!
petit exemple a partir d'excel!
F1 F2 F3 F4 F5 A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 A4 B4 C4 D4 E4 A5 B5 C5 D5 E5 A6 B6 C6 D6 E6 A7 B7 C7 D7 E7 A8 B8 C8 D8 E8 A9 B9 C9 D9 E9 A10 B10 C10 D10 E10 A11 B11 C11 D11 E11 A12 B12 C12 D12 E12 A13 B13 C13 D13 E13 A14 B14 C14 D14 E14 A15 B15 C15 D15 E15 A16 B16 C16 D16 E16 A17 B17 C17 D17 E17 A18 B18 C18 D18 E18 Code:
1
2
3
4
5
6
7
8
9
10 Sub test() With CreateObject("Adodb.connection") .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES;""" Set Rs1 = .Execute("Select * from [Toto$] where [F1]='A10'") Set Rs2 = .Execute("Select [F2] from (" & Rs1.Source & ")") ThisWorkbook.Sheets(2).Range("A1").CopyFromRecordset Rs1 ThisWorkbook.Sheets(3).Range("A1").CopyFromRecordset Rs2 ThisWorkbook.Sheets(4).Range("A1").CopyFromRecordset .Execute("Select [F3], [F5] from (" & Rs1.Source & ")") End With End Sub