1 pièce(s) jointe(s)
Recherche dans ListBox avec saisie dans textbox
Bjrs tt le monde!
voila mon pb:
je viens de faire la conceprtion d'un userform: un textbox1, CommandButton1, 3 OptionButton1, 2 , 3 et Listbox1
et une feuille excel "Machines"
Déja j'arrive à afficer le continue de la feuille "Machines" dans listbox1
Code:
1 2 3 4 5 6 7
|
Private Sub UserForm_Activate()
With Sheets("Machines").Range("A2")
ListBox1.RowSource = Range(.Cells, .End(xlDown)(1, 8)).Address(External:=True)
End With
ListBox1.ListIndex = -1
End Sub |
Mais mnt ce que je veus faire:
faire une recherche dans la listebox1 à travers textbox1 et CommandButton1
la recherche doit se faire selon OptionButton1, 2 , 3
cad: lorsque je sélectionne :
- OptionButton1 la recherché doit se faire sur la colonne 1 de la listbox1 (feuille"Machines")
- OptionButton2 la recherché doit se faire sur la colonne 2 de la listbox1 (feuille"Machines")
- OptionButton3 la recherché doit se faire sur la colonne 3 de la listbox1 (feuille"Machines")
et le résultat de recherché doit etre automatiquement sélectionner dans la listbox1 ou filtrer selon la valeur exacte taper dans textbox1.
voila ma conception:
Pièce jointe 190702
c vraiment des questions pro
Vous parlez comme si vous etes present dans mes idées!
- c tte une application de gestion parc machines, j'ai trouvé un solution efficace pour la recherche mais cette dérnière s'affiche dans 16 textbox qui représente les colonnes de mon tableau excel
mais j'ai bien voulue améliorer avec une listbox!
- la recherche sur les 3 première colonnes n'aboutit jamais à un résultat multiple puisque ce sont des références et des numéro de serie pour machine donc impossible de trouver des doublants dans une mm colonne ( col 1, 2 et 3).
après la recherché biensure seule une ligne qui va etres affichée ou selectionner je veux qu'on faisant un double clic sur cette ligne et automatiquement s'affiche un userforme qui contien tt les détailles ( tt les rée et le caractéristique ) de la machine pour affecter un ordre de travail à cette dérnière.
- et si je ne trouve rien un msgbox: "cette machine n'existe pas"
-et si je ne saisie rien dans le textbox un msgbox"vous devez saisir une reference"
je Croix que c tres compliquer! aumoin pour moi puisque je suis debutant!
1 pièce(s) jointe(s)
Bonjour ilyes.sferi, bonjour rdurupt!
J'ai à peu près le même problème que toi ilyes:
- une listbox
- une textbox de saisi
- et 3 option button qui me permettent de chercher en fonction d'un critère.
voici mon UF:
Pièce jointe 191429
le code pour l'initialisation :
Code:
1 2 3 4 5 6 7 8 9
| Private Sub UserForm_Initialize()
ListBox1.ColumnHeads = False
ListBox1.ColumnCount = 4
ListBox1.ColumnWidths = "60,70"
ListBox1.RowSource = "Feuil4!A2:D223"
End Sub |
Et voici les lignes sur lesquels je suis en train de plancher (mon objectif étant que la listbox se mette à jour à chaque caractère saisi - je ne passe pas par un bouton "rechercher")
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Option Compare Text
Private Sub TextBox1_Change()
On Error Resume Next
Application.ScreenUpdating = False
ListBox1.Clear
If TextBox1 <> "" Then
For lig = 2 To 223
If Sheets("Feuil4").Cells(lig, 3) Like "*" & TextBox1 & "*" Then 'recherche ne prenant pas en compte les optionbutton pour le moment
ListBox1.AddItem Sheets("Feuil4").Cells(lig, 3)
End If
Next
End If
End Sub |
mais il ne se passe rien quand je commence à taper dans la textbox...
J'apporte pas de solution toute faite, mais je profite de la discussion pour essayer de trouver des pistes ensemble :)