recherche sur une textbox multiline

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

supercrapaud

XLDnaute Occasionnel
Bonjour à vous tous les pros de VBA😉

J'ai un petit souci que vous saurez sûrement résoudre. Je souhaiterais savoir s'il est possible de faire une recherche sur une textbox multiligne et d'afficher le résultat sur une autre textbox multiligne avec le respect de l'indexation de la textbox. Ex :
textbox 1 >>> textbox2
L1 = 1234 >>> nom du produit référencé 1234
L2 = 5678 >>> nom du produit référencé 5678
L3 = 9012 >>> nom du produit référencé 9012
...
étant entendu que les références de mes produits et des noms de produits sont saisies dans un tableau (sur un autre onglet...). J'ai cherché sur le forum sans trouver la réponse. Mais je suis sûr qu'il y aura quelqu'un parmi qui saura me donner une réponse car je pense que c'est possible mais je début seulement en macro ^_^'.
En vous remerciant chaleureusement par avance, merci à tous.
 
Re : recherche sur une textbox multiline

Bonjour

Dans le code de l'userform

Avec 2 textbox: TextBox1 et TextBox2

sur une feuille :
Dans une colonne
1234
5678
9012
Dans les cellules adjacentes
toto
tata
titi

Code:
Public line1$
Public line2$
Public line3$
Private Sub CommandButton1_Click()
Dim x As Range, y As Range, z As Range
Set x = ActiveSheet.Cells.Find(CStr(line1)).Offset(, 1)
Set y = ActiveSheet.Cells.Find(CStr(line2)).Offset(, 1)
Set z = ActiveSheet.Cells.Find(CStr(line3)).Offset(, 1)
TextBox2 = x & vbCrLf & y & vbCrLf & z
End Sub

Private Sub UserForm_Initialize()
TextBox1 = "1234" & vbCrLf & "5678" & vbCrLf & "9012"
line1 = Split(TextBox1, vbCrLf)(0)
line2 = Split(TextBox1, vbCrLf)(1)
line3 = Split(TextBox1, vbCrLf)(2)
End Sub
 
Re : recherche sur une textbox multiline

Bonjour,

Merci pour la réponse aussi rapide. je vais essayer cela dans la semaine. Y'a-t-il sur le site un lexique où je peux trouver le vocabulaire employé afin que je comprenne ce que tout cela veut dire ? Si oui, merci de me le dire je ne l'ai pas vu encore. En vous remerciant.
 
Re : recherche sur une textbox multiline

Bonjour,

Pour le vocabulaire employé, lorsque tu es dans l'éditeur vba, tu places ton curseur sur le mot dont tu veux connaitre l'utilisation et touche de fonction F1. L'aide vba se lancera...

bon après midi
@+
 
Re : recherche sur une textbox multiline

Bonjour à tous


Voici une version avec quelques commentaires
Code:
[COLOR=Green]'Déclarations [/COLOR]
Public line1$
Public line2$
Public line3$
Private Sub CommandButton1_Click()
[COLOR=Green]'Déclarations[/COLOR]
Dim x As Range, y As Range, z As Range
[COLOR=Green]'Ici on récupère la valeur de la cellule adjacente
'à la cellule contenant les valeurs de la TextBox1[/COLOR]
Set x = ActiveSheet.Cells.Find(CStr(line1)).Offset(, 1)
Set y = ActiveSheet.Cells.Find(CStr(line2)).Offset(, 1)
Set z = ActiveSheet.Cells.Find(CStr(line3)).Offset(, 1)
[COLOR=Green]'ici on concaténe les x y et z comme valeur pour la TextBox2[/COLOR]
TextBox2 = x & vbCrLf & y & vbCrLf & z
End Sub

Private Sub UserForm_Initialize()
[COLOR=Green]'ici à l'ouverture de l'userform
'on sépare avec Split les 3 valeurs contenues
'dans le TextBox1 , le séparateur étant vbCrlf[/COLOR]
TextBox1 = "1234" & vbCrLf & "5678" & vbCrLf & "9012"
line1 = Split(TextBox1, vbCrLf)(0)
line2 = Split(TextBox1, vbCrLf)(1)
line3 = Split(TextBox1, vbCrLf)(2)
End Sub

Comme indiqué par Pierrot93, tu trouveras de précieux conseils dans l'aide VBA d'Exel
 
Re : recherche sur une textbox multiline

Bonsoir,

Je viens de faire un test de ton exemple et ça marche 😉. Merci pour la réponse rapide aisni que pour les explications. Je continue et souhaiterais savoir s'il était possible d'indexer le nombre de recherche ainsi que la recherche pour la simplifier (chaque saisie étant en fait un copier/coller de plusiers lignes se trouvant sur un excel) du genre :

For i = 1 to textbox1.linecounts
me.textbox2.line(i) = application.index (range[a:a],me.textbox1.line(i) ,1)
next i

plutôt que de déclarer 50 lignes une par une et de spliter 50 valeurs qui ne seront peut-être pas toutes les même ni dans le même sens.

J'ai encore vachement de boulot je crois pour atteindre votre niveau T_T
En vous remerciant


Bonjour à tous


Voici une version avec quelques commentaires
Code:
[COLOR=Green]'Déclarations [/COLOR]
Public line1$
Public line2$
Public line3$
Private Sub CommandButton1_Click()
[COLOR=Green]'Déclarations[/COLOR]
Dim x As Range, y As Range, z As Range
[COLOR=Green]'Ici on récupère la valeur de la cellule adjacente
'à la cellule contenant les valeurs de la TextBox1[/COLOR]
Set x = ActiveSheet.Cells.Find(CStr(line1)).Offset(, 1)
Set y = ActiveSheet.Cells.Find(CStr(line2)).Offset(, 1)
Set z = ActiveSheet.Cells.Find(CStr(line3)).Offset(, 1)
[COLOR=Green]'ici on concaténe les x y et z comme valeur pour la TextBox2[/COLOR]
TextBox2 = x & vbCrLf & y & vbCrLf & z
End Sub

Private Sub UserForm_Initialize()
[COLOR=Green]'ici à l'ouverture de l'userform
'on sépare avec Split les 3 valeurs contenues
'dans le TextBox1 , le séparateur étant vbCrlf[/COLOR]
TextBox1 = "1234" & vbCrLf & "5678" & vbCrLf & "9012"
line1 = Split(TextBox1, vbCrLf)(0)
line2 = Split(TextBox1, vbCrLf)(1)
line3 = Split(TextBox1, vbCrLf)(2)
End Sub

Comme indiqué par Pierrot93, tu trouveras de précieux conseils dans l'aide VBA d'Exel
 
Re : recherche sur une textbox multiline

Bonjour à vous tous !

Voilà le fichier en question. j'ai essayé de simplifier et d'expliquer ce que je souhaite mais en gros, je voudrais faire des recherches multiples sur les lignes d'un textbox et inscrire les données trouvées dans un autre textbox. Mais je souhaite que ces recherches se fassent de manières indexées comme dit précédemment.

En vous remerciant par avance
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
1 K
Retour