Bonjour,
J'ai le code suivant qui permet d'interroger un classeur fermé.
Je lui envoi une designation et il me remonte tout les codes articles qui sont identique à cette désignation dans une lisbox.
Ce que je cherche à faire c'est d'inclure dans cette liste d'autre champs qui sont issue de mon classeur fermé et qui correspondent à la même ligne que le code qui à été trouvé.
exemple:
Je cherche à afficher dans une listebox les champs [code], [Designation1],[designation2]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3code | Designation1 | Designation2 | Prix xx Test Test2 10
Quelqu'un à t'il une idéee de comment je peux faire?
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 Private Sub UserForm_Initialize() Dim Cn As ADODB.Connection Dim Fichier As String Dim NomFeuille As String Dim texte_SQL1 As String Dim texte_SQL2 As String Dim texte_SQL3 As String Dim texte_SQL4 As String Dim texte_SQL5 As String Dim Rst1 As ADODB.Recordset Dim Rst2 As ADODB.Recordset Dim Rst3 As ADODB.Recordset Dim Rst4 As ADODB.Recordset Dim Rst5 As ADODB.Recordset Dim Tbl() As Variant Dim i As Integer, N As Integer UserForm1.Caption = "PUNCH" 'Définit le classeur fermé servant de base de données Fichier = "C:\Documents and Settings\BaseCDC00003.xls" 'Nom de la feuille dans le classeur fermé NomFeuille = "TECHNIQUE_1" Set Cn = New ADODB.Connection '--- Connection --- With Cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & Fichier & _ ";Extended Properties=Excel 8.0;" .Open End With MatriceStd = "MATRICE 1MB2-59-S" '----------------- 'Définit la requête. texte_SQL1 = "SELECT[Reference] FROM [TECHNIQUE_1$] WHERE[Designation] LIKE '" & MatriceStd & "%' " Set Rst1 = New ADODB.Recordset With Rst1 .ActiveConnection = Cn .Open texte_SQL1 _ , , adOpenStatic, adLockOptimistic, adCmdText End With ListBox1.Clear ListBox1.ColumnCount = Rst1.Fields.Count ReDim Tbl(Rst1.RecordCount - 1, Rst1.Fields.Count) 'Tbl = Rst1.GetRows Do While Not Rst1.EOF For i = 0 To Rst1.Fields.Count - 1 If IsNull(Rst1.Fields(0).Value) = True Then Tbl(N, i) = "" Else Tbl(N, i) = CStr(Rst1.Fields(0).Value) RequeteMatriceStd = Rst1.Fields(0).Value MsgBox RequeteMatriceStd End If Next i N = N + 1 Rst1.MoveNext Loop ListBox1.List() = Tbl '--- Fermeture connexion --- Cn.Close Set Cn = Nothing End Sub
Partager