Private Sub BtnRecherche_Click() 'MODE RECHERCHE STRING
Dim Cell As Range
Dim TAB1()
Dim I As Byte
Dim L As Byte
' facon de rechercher en fonction du bouton activé, client, Marché ou N° de marché
If btnNom.Value = False And BtnMarche.Value = False And BtnNmr = False Then
MsgBox "Vous devez choisir un type de recherche !!", vbCritical + vbOKOnly, "Attention ..."
Exit Sub
End If
If btnNom.Value = True Then '<- Bouton Nom
If TxtQuoi.Value <> "" Then
L = Len(TxtQuoi)
For Each Cell In Sheets("Table").Range("A2", "A" & Range("A65536").End(xlUp).Row)
If UCase(Left(Cell.Text, L)) = UCase(TxtQuoi.Text) Then
I = I + 1
ReDim Preserve TAB1(1 To 8, 1 To I)
For c = 1 To 8
TAB1(c, I) = Sheets("Table").Cells(Cell.Row, c)
Next c
End If
Next Cell
Else
MsgBox "Veuillez entrer un critère de recherche", vbInformation + vbOKOnly, "Erreur de recherche"
Exit Sub
End If
LstResultat.Visible = True
LstResultat.ColumnCount = 8
LstResultat.ColumnWidths = "4cm" & ";" & "4cm" & ";" & "3cm" & ";" & "3cm" & ";" & "6cm" & ";" & "7cm" & ";" & "1,5cm" & ";" & "7cm"
ElseIf BtnMarche.Value = True Then '<- Bouton Code postal
If TxtQuoi.Value <> "" Then
L = Len(TxtQuoi)
For Each Cell In Sheets("Table").Range("G2", "G" & Range("A65536").End(xlUp).Row)
If UCase(Left(Cell.Text, L)) = UCase(TxtQuoi.Text) Then
I = I + 1
ReDim Preserve TAB1(1 To 8, 1 To I)
For c = 1 To 8
TAB1(c, I) = Sheets("Table").Cells(Cell.Row, c)
Next c
End If
Next Cell
Else
MsgBox "Veuillez entrer un critère de recherche", vbInformation + vbOKOnly, "Erreur de recherche"
Exit Sub
End If
LstResultat.Visible = True
LstResultat.ColumnCount = 8
LstResultat.ColumnWidths = "1,5cm" & ";" & "4cm" & ";" & "4cm" & ";" & "3cm" & ";" & "3cm" & ";" & "6cm" & ";" & "7cm" & ";" & "7cm"
' LstResultat.List = TAB1()
ElseIf BtnNmr.Value = True Then '<- Bouton Ville
If TxtQuoi.Value <> "" Then
L = Len(TxtQuoi)
For Each Cell In Sheets("Table").Range("H2", "H" & Range("A65536").End(xlUp).Row)
If UCase(Left(Cell.Text, L)) = UCase(TxtQuoi.Text) Then
I = I + 1
ReDim Preserve TAB1(1 To 8, 1 To I)
For c = 1 To 8
TAB1(c, I) = Sheets("Table").Cells(Cell.Row, c)
Next c
End If
Next Cell
Else
MsgBox "Veuillez entrer un critère de recherche", vbInformation + vbOKOnly, "Erreur de recherche"
Exit Sub
End If
LstResultat.Visible = True
LstResultat.ColumnCount = 8
LstResultat.ColumnWidths = "7cm" & ";" & "4cm" & ";" & "4cm" & ";" & "3cm" & ";" & "3cm" & ";" & "6cm" & ";" & "7cm" & ";" & "1,5cm"
' LstResultat.List = TAB1()
End If
If I > 1 Then
LstResultat.List = Application.Transpose(TAB1)
Else
LstResultat.AddItem TAB1(1, 1)
For c = 2 To 8
LstResultat.List(LstResultat.ListCount - 1, c - 1) = TAB1(c, 1)
Next c
End If
End Sub