Bonjour à tous,
Je me permets de solliciter votre aide pour une fonctionnalité que je souhaiterais réaliser.
Je suis en train de créer un logiciel qui me permet de gérer simplement des stocks et les entrées/sorties de matières.
Pour cela, la matière est affectée à un emplacement, contient une quantité, une référence et un numéro unique.
Mon programme créé un fichier .txt pour chaque entrée de matière dans un dossier "Stockage".
Toutes les informations concernant la matière sont enregistrées dans le titre du fichier.
Soit : Référence,NuméroUnique,Quantité,Emplacement.txt
Dans un écran de mon application qui me sert à consulter les matières en stocks, j'utilise une listbox à 4 colonnes qui liste tous les fichiers .txt présents dans le dossier et sépare les informations entre les virgule.
Voici le code :
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 Private Sub UserForm_Initialize() EcranSortie.ListBox_Sort.ColumnCount = 4 repertoire = ActiveWorkbook.Path & "\Stockage" Dim Coll_Docs As New Collection Dim Search_path, Search_Filter, Search_Fullname As String Dim DocName As String Dim i As Long Search_path = repertoire Search_Filter = "*.txt" Set Coll_Docs = Nothing DocName = Dir(Search_path & "\" & Search_Filter) Do Until DocName = "" Coll_Docs.Add Item:=DocName DocName = Dir Loop For i = Coll_Docs.Count To 1 Step -1 ' Xpn = InStr(1, Coll_Docs(i), ",") Xlabel = InStr(Xpn + 1, Coll_Docs(i), ",") XQty = InStr(Xlabel + 1, Coll_Docs(i), ",") XLoc = Len(Coll_Docs(i)) - 4 EcranSortie.ListBox_Sort.AddItem 'Coll_Docs(i) EcranSortie.ListBox_Sort.List(ListBox_Sort.ListCount - 1, 0) = Left(Coll_Docs(i), Xpn - 1) EcranSortie.ListBox_Sort.List(ListBox_Sort.ListCount - 1, 1) = Right(Left(Coll_Docs(i), Xlabel - 1), Xlabel - (Xpn + 1)) EcranSortie.ListBox_Sort.List(ListBox_Sort.ListCount - 1, 2) = Right(Left(Coll_Docs(i), XQty - 1), XQty - (Xlabel + 1)) EcranSortie.ListBox_Sort.List(ListBox_Sort.ListCount - 1, 3) = Right(Left(Coll_Docs(i), XLoc), XLoc - XQty) Next i End Sub
J'ai dans mon formulaire, une TextBox pour réaliser une recherche.
Je souhaiterais qu'au fur et à mesure que je tape des caractères, les résultats non correspondant ne s'affichent pas.
Exemple : si je tape un 5, toutes les références ne commencant pas par 5 ne s'affichent pas et ainsi de suite
Je n'arrive pas à réaliser cela en conservant l'affichage des différentes colonnes pour les résultats.
J'espère avoir été assez clair et vous remercie par avance de votre aide.
Partager