afficher résultat de recherche sur listbox1 dans lisbox2 sur 2 colonne

jtitin

XLDnaute Occasionnel
Bonjour à tous
je cherche à afficher le résultat d'une recherche sur listbox1 (2 colonnes) dans lisbox2 sur 2 colonnes
je rentre le mot recherche dans la textbox4
je clic sur le CommandButton2 qui lance la Macro ci dessous

Private Sub CommandButton2_Click()
Dim Cherche As String
Dim L As Integer
Dim Maplage As Range
Dim FirstADdress As String
Dim C As Object

Cherche = TextBox4
If Cherche = "" Then
Exit Sub
End If

With ListBox2
.ColumnCount = 2
.ColumnWidths = "90;90"
.Visible = True
End With

L = Sheets("Database").Range("A65536").End(xlUp).Row
Set Maplage = Sheets("Database").Range("A2:B" & L)
With Maplage
Set C = .Find(Cherche, LookIn:=xlValues)
If Not C Is Nothing Then
FirstADdress = C.Address
Do
ListBox2.AddItem C
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> FirstADdress
End If
End With
End Sub

mon résultat dans la listbox2 n'est que sur une colonne
je cherche à modifier cette macro pour obtenir le résultat recherché

Merci pour votre aide
 

Bebere

XLDnaute Barbatruc
Re : afficher résultat de recherche sur listbox1 dans lisbox2 sur 2 colonne

bonjour Jtitin
à tester

Code:
Private Sub CommandButton2_Click()
Dim Cherche As String
Dim L As Integer
Dim Maplage As Range
Dim FirstADdress As String
Dim C As Object

Cherche = TextBox4
If Cherche = "" Then
Exit Sub
End If
'**à mettre dans userform_initialize
With ListBox2
.ColumnCount = 2
.ColumnWidths = "90;90"
.Visible = True
End With
'**
L = Sheets("Database").Range("A65536").End(xlUp).Row
Set Maplage = Sheets("Database").Range("A2:B" & L)
With Maplage
Set C = .Find(Cherche, LookIn:=xlValues)
If Not C Is Nothing Then
FirstADdress = C.Address
Do
if c.column=1 then
 ListBox2.AddItem C:ListBox2.list(ListBox2.listcount-1,1)=c.offset(,1)
else
ListBox2.AddItem c.offset(,-1):(ListBox2.listcount-1,1)=c
endif
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> FirstADdress
End If
End With
End Sub
 

jtitin

XLDnaute Occasionnel
Re : afficher résultat de recherche sur listbox1 dans lisbox2 sur 2 colonne

merci Bebere pour ta réponse
mais lorsque je remplace la macro par la tienne la ligne ci dessous se met en rouge

ListBox2.AddItem c.offset(,-1):(ListBox2.listcount-1,1)=c

message erreur compilation

si j'enlève les parenthèse avant en les ": " et "=c" la ligne est normale mais j'ai erreur sur "=c"

ne fonctionne pas
 

jtitin

XLDnaute Occasionnel
Re : afficher résultat de recherche sur listbox1 dans lisbox2 sur 2 colonne

je réussi à avoir un fonctionnement de la macro de Bebere en enlevant:
else
ListBox2.AddItem c.offset(,-1):(ListBox2.listcount-1,1)=c

le résultat demandé s'affiche bien dans les 2 colonnes listbox2
exemple je recherche -> "Dup" le résultat est en listbox2:
Dupont jules
Dupont marcel
mais j'ai un nouveau problème
quant je sélectionne une ligne de la listebox2, j'incrémente des textbox pour le Nom, prénom, téléphone, adresse des ligne sélectionné
mais j'ai toujours le même résultat dans les testbox pour chaque ligne sélectionnée.

Private Sub ListBox2_Click()
Dim ReCherche As String
Dim L As Integer
Dim Plage As Range
Dim Cell As Range
'Dim maille As Boolean
ReCherche = ListBox2.Value
L = Sheets("Database").Range("A65536").End(xlUp).Row
Set Plage = Sheets("Database").Range("A2:E" & L)
For Each Cell In Plage
If Cell.Value = ReCherche Then
LRecherche = Cell.Row
End If
Next Cell
TextBox1 = Sheets("Database").Range("A" & LRecherche)
TextBox2 = Sheets("Database").Range("B" & LRecherche)
TextBox5 = Format(Sheets("Database").Range("C" & LRecherche), "00 00 00 00 00")
TextBox7 = Sheets("Database").Range("D" & LRecherche)
TextBox8 = Sheets("Database").Range("E" & LRecherche)

End Sub
 

Bebere

XLDnaute Barbatruc
Re : afficher résultat de recherche sur listbox1 dans lisbox2 sur 2 colonne

J titin
compare avec la ligne précédente(avant else)
ListBox2.AddItem c.offset(,-1):ListBox2.list(ListBox2.listcount-1,1)=c
pour bien répondre plus facile avec un fichier
 

jtitin

XLDnaute Occasionnel
Re : afficher résultat de recherche sur listbox1 dans lisbox2 sur 2 colonne

OK Bebere
Ci joint un extrait du fichier avec le fonctionnement recherché

dans l'exemple quant je recherche un nom qui existe plusieurs fois "ERO" "DUPONT"
la listbox2 m'affiche la liste
mais la sélection dans la liste ne modifie pas l'incrémentation des textbox

Merci pour votre aide
 

Pièces jointes

  • test2.xlsm
    34.6 KB · Affichages: 32
  • test2.xlsm
    34.6 KB · Affichages: 63
  • test2.xlsm
    34.6 KB · Affichages: 42

Bebere

XLDnaute Barbatruc
Re : afficher résultat de recherche sur listbox1 dans lisbox2 sur 2 colonne

Jtitin
sélection listbox1 alimente listbox2
sélection lisbox2 va dans les texbox
pour recherche par caractère dans textbox4, chaque caractère entré change le contenu de listbox2
 

Pièces jointes

  • test2.xlsm
    32 KB · Affichages: 32
  • test2.xlsm
    32 KB · Affichages: 34
  • test2.xlsm
    32 KB · Affichages: 36

Discussions similaires

Réponses
12
Affichages
537
Réponses
12
Affichages
541
Réponses
8
Affichages
447
Réponses
28
Affichages
921

Statistiques des forums

Discussions
311 720
Messages
2 081 917
Membres
101 839
dernier inscrit
laurentEstrées