Comment faire une recherche dans un textbox à partir d'un autre textbox
Lynda_123
-
ptitpanda Messages postés 67 Statut Membre -
ptitpanda Messages postés 67 Statut Membre -
Bonjour,
Svp j'ai deux textbox dans mon userform,(textbox 1 et textbox 2) et j'aimerais savoir comment faire les recherches dans le textbox 2 à partir du textbox 1. Le textbox 2 contenant un texte organisé en articles
Je vous remercie déjà d'avance
Svp j'ai deux textbox dans mon userform,(textbox 1 et textbox 2) et j'aimerais savoir comment faire les recherches dans le textbox 2 à partir du textbox 1. Le textbox 2 contenant un texte organisé en articles
Je vous remercie déjà d'avance
3 réponses
-
Bonjour,
il vaut mieux utiliser une ListBox pour les données à lister, plutôt qu'une TextBox multiline
Voir cet exemple
https://www.excel-pratique.com/fr/astuces_vba/champ-de-recherche-vba
-
-
Bonjour,
Si je peux me permettre d'intervenir, on peut le faire il suffit d'insérer un retour chariot.
Je suppose que cette discutssion a un rapport avec celle ci:
https://forums.commentcamarche.net/forum/affich-36986020-comment-afficher-le-contenu-d-une-colonne-dans-le-textbox
Si non, cela servira toujours à d'autres personnes.
Donc pour alimenter ta listbox avec une colonne du classeur (les scrollbar se mettent seules):Private Sub UserForm_Activate() ListBox1.Clear For Each valeur In Range("a2:a24") 'A adapter selon le nbre de lignes et la lettre de ta colonne ListBox1.AddItem Cells(valeur.Row, 1) & vbCr ' on ajoute dans la listbox le contenu d'une cellule + un retour de ligne Next valeur End Sub
et donc ensuite il suffit d'utiliser le lien de cs_Le Pivert en l'adaptant un peu.
Bonnne journée -
-
Voir ceci
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
regarde comme c'est facile avec une ListBox et une TextBox.
Il suffit de cliquer sur une ligne de la Listbox pour l'afficher dans la TextBox:
Option Explicit Private Sub ListBox1_Click() Dim i As Byte 'boucle sur les éléments de la listbox For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then TextBox1.Value = ListBox1.List(i) Next i End Sub Private Sub UserForm_Initialize() ListBox1.RowSource = "Feuil1!A1:A12" End Sub
voilà avec un minimum de code! -
Je sais que c'est facile. Mais listbox ne répond pas à mes attentes. Ça n'affiche pas bien le texte, avec la listbox tout le texte est affiché sur une même ligne, et ses propriétés ne contient pas la propriété multiligne. Raison pour la quelle je travaille avec textbox.
Tout en espérant que vous me comprenez -
-
-
Bonjour,
C'est vrai que, pour ma part, je n'avais pas compris que dans ta textbox tu avais carrément un texte et non pas une énumération.
Donc ce code devrait faire ce que tu veux:Private Sub TextBox1_AfterUpdate() Application.ScreenUpdating = False If TextBox1 <> "" Then rech = InStr(1, TextBox2, TextBox1, vbTextCompare) If rech <> 0 Then TextBox2.SelStart = rech - 1 TextBox2.SelLength = Len(TextBox1) TextBox2.SetFocus End If End If End Sub
Il va chercher, dans ta textbox2, ce que tu as tapé dans ta textbox1
++