Bonjour à tous,
Etant débutant en VBA Excel, je développe une petite application de test qui réalise des recherches, insertions et modifications de tableaux en feuille Excel via des formulaires.
Je rencontre un problème au niveau de la recherche, pour afficher dans une ListBox le résultat de ma recherche.
En effet, cela fonctionne correctement jusqu'à 10 champs, mais tombe en erreur si je souhaite récupérer + de champs.
De plus, je souhaiterai pouvoir récupérer tous les champs de mon tableau mais n'en afficher que certains dans la listBox.
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 Me.List_Search.Clear Set c = Sheets("BDD").Range("a:a").Find(Me.TB_Nom.Value, LookIn:=xlValues) If Not c Is Nothing Then premier = c.Address i = 0 Do Me.List_Search.AddItem Me.List_Search.List(i, 0) = c.Value Me.List_Search.List(i, 1) = c.Offset(0, 1).Value Me.List_Search.List(i, 2) = c.Offset(0, 2).Value Me.List_Search.List(i, 3) = c.Offset(0, 4).Value Me.List_Search.List(i, 4) = c.Offset(0, 5).Value Me.List_Search.List(i, 5) = c.Offset(0, 6).Value Me.List_Search.List(i, 6) = c.Offset(0, 7).Value Me.List_Search.List(i, 7) = c.Offset(0, 8).Value Me.List_Search.List(i, 8) = c.Offset(0, 9).Value Me.List_Search.List(i, 9) = c.Offset(0, 10).Value Me.List_Search.List(i, 10) = c.Offset(0, 11).Value Set c = Sheets("BDD").Range("a:a").FindNext(c) i = i + 1 Loop While Not c Is Nothing And c.Address <> premier End If
Par contre, il me faut bien l'information, car sur un double-click, je voudrai afficher toutes les informations dans un nouveau UserForm.
Jusqu'à 10 champs, mon code fonctionne jusqu'au bout, mais au-delà plus rien ne marche.
Après différentes recherches sur Internet/Forums, j'ai l'impression qu'il faudrait renseigner un tableau et ne plus utiliser cette façon de faire: Me.List_Search.List(i, 10) = c.Offset(0, 11).Value
Mais je ne trouve pas de façon de faire qui réalise à la fois la recherche comme je souhaite, et le remplissage de ma ListBox.
Je vous mets en pièce jointe mon fichier de test.
Merci d'avance pour vos réponses, indices ou quoi que ce soit qui me mette sur la bonne voie !
Partager