Búsqueda en una listbox desde un textbox bajo condición
Resuelto
Louloude74
Mensajes publicados
62
Estado
Miembro
-
Louloude74 Mensajes publicados 62 Estado Miembro -
Louloude74 Mensajes publicados 62 Estado Miembro -
Hola a todos,
Tengo este fragmento de código que me permite realizar una búsqueda desde un textbox en una listbox.
Me gustaría poder añadir una condición según el valor de un checkbox.
Este valor permitiría saber cómo realizar la búsqueda. Si es falso, la búsqueda se realiza sobre la totalidad de los proveedores (como ya ocurre); si es verdadero, la búsqueda se realiza solo sobre los proveedores cuyo nombre está compuesto por un "/".
Otra alternativa que se me ocurre ahora mismo. A medida que se escribe en el textbox, la listbox se vacía, como un filtro y se reducen las opciones posibles.
De antemano gracias por vuestra ayuda y que tengáis un buen día.
Ludwig
Tengo este fragmento de código que me permite realizar una búsqueda desde un textbox en una listbox.
Sub IndexSuivant(Debut) Dim i As Integer Dim intPosition As Integer 'elección de la columna de búsqueda If OptionButton1.Value = True Then j = 0 Else j = 1 End If For i = Debut To Me.ListBox1.ListCount - 1 If InStr(LCase(Me.ListBox1.Column(j, i)), LCase(Me.TextBox1.Text)) = 1 Then intPosition = i ListBox1.ListIndex = i Lindex = i + 1 'la próxima búsqueda comenzará ? i + 1 Exit For End If Next i End Sub
Me gustaría poder añadir una condición según el valor de un checkbox.
Este valor permitiría saber cómo realizar la búsqueda. Si es falso, la búsqueda se realiza sobre la totalidad de los proveedores (como ya ocurre); si es verdadero, la búsqueda se realiza solo sobre los proveedores cuyo nombre está compuesto por un "/".
Otra alternativa que se me ocurre ahora mismo. A medida que se escribe en el textbox, la listbox se vacía, como un filtro y se reducen las opciones posibles.
De antemano gracias por vuestra ayuda y que tengáis un buen día.
Ludwig
5 respuestas
-
Hola,
¿De dónde proviene la variable Debut?
¿Hoja o UserForm?
¿Puedes poner un archivo de ejemplo ya que, según tu código, la búsqueda en la lista_listbox se realiza en una columna diferente según la opción del botón de opción? -
Hola,
Estoy haciendo una búsqueda en dos columnas
En su hoja de Excel, ¿los proveedores con/sin “/” están en cuántas columnas?
Ya que no indican cómo se llena la listbox-
Hola, En Ecxel, los proveedores están en una sola columna.
Private Sub UserForm_Initialize() NomFeuille = ActiveSheet.Name DerLigne = Sheets(NomFeuille).Cells(Rows.Count, 1).End(xlUp).Row DerCol = Sheets(NomFeuille).Cells(1, Columns.Count).End(xlToLeft).Column Me.ListBox1.List = Range(Cells(1, 1), Cells(DerLigne, DerCol)).Value End Sub
¡Buen domingo! Ludwig
-
-
Hola,
Archivo para búsqueda específica en función de un TextBox para rellenar ListBox.
La búsqueda filtra los nombres que contienen un "/"
Para adaptar a tu archivo personal: https://mon-partage.fr/f/vUbJganP/
No pones Ucase porque los nombres deben estar en Mayúsculas en las celdas!-
Buenas noches,
¡Es genial, funciona muy bien!
El Ucase me permite forzar la escritura en mayúsculas en el textbox.
Porque, normalmente, los proveedores están siempre en mayúsculas en mi lista. Pero si alguno está en minúsculas, estoy perdido. Lo ideal en ese caso sería una búsqueda que no tenga en cuenta las mayúsculas/minúsculas.
¡Gracias de nuevo por tu ayuda. ¡Es genial!
Que tengas una buena noche.
Ludwig
-
-
Hola,
Private Sub TextBox1_change() TextBox1.Text = UCase(TextBox1.Text) Lindex = 0 IndexSuivant (Lindex) End Sub
Durante ese evento.
Los elementos de la listbox proceden, a su vez, de una hoja de Excel. -
Hola,
Gracias por tu respuesta.
Estoy haciendo una búsqueda en dos columnas porque no sé cómo hacerlo de otra forma. ;)
El código mencionado más arriba es un código recuperado.
Utilizo un userform para rellenar diferentes campos. Necesitaba listar a los proveedores. Lo hice a través de un listbox. Añadí un textbox para usarlo como un "motor de búsqueda" en mis proveedores, ya sea por nombre o por su código. Una vez seleccionado el proveedor, incremento una segunda lista con mi selección o mis selecciones.
El problema con "mi" código es que me devuelve la primera valor encontrada y los proveedores están en duplicado: proveedor (proveedor genérico) y proveedor/código (nuestros proveedores). Me gustaría tener la posibilidad de hacer la búsqueda solo entre los proveedores con un "/".
Espero que esta vez no haya ido por el camino equivocado.
De nuevo, gracias y que tengas un buen día.
Ludwig