ListView: Bogue sur Réglage (BIS)

Salut Tous,

Dans ma ListView, j'ai rajouté des colonnes.

J'ai besoin de votre aide sur trois points.

1- PEUT-ON METTRE EN SURBRILLANCE LE MOT RECHERCHÉ DANS LA LISTVIEW.

2- PEUT-ON CHANGÉ LA COULEUR DES ENTÊTES DE LA LISTVIEW.

3- ENLEVER LA RECHERCHE ADAPTATIVE: I.E.: ÉCRIRE DS BTE RECHERCHE ET FAIRE ENTER.

Ce fichier aura environ 16,000 lignes. J'aimerais que la recherche se fasse plus vite qu'avec la recherche adaptative.

Je joins mon fichier.

Merci beaucoup.

Bonjour Moé Kolisse, Forum

a voir si cela convient

1- PEUT-ON METTRE EN SURBRILLANCE LE MOT RECHERCHÉ DANS LA LISTVIEW.

remplacer la macro Alimente listview par celle-ci

Ecriture en rouge gras

Sub Alimente_ListView()
Dim i, L, x
Dim TabDataSheet As Variant
Dim TabDataArray() As Variant

'Vide le contenu de la listview
UserForm_Liste.ListView_Annuaire.ListItems.Clear

TabDataSheet = ws.Range("B3:K" & ws.Range("B" & Rows.Count).End(xlUp).Row)

For L = 1 To UBound(TabDataSheet, 1)
    If TabDataSheet(L, 1) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Or TabDataSheet(L, 2) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Or TabDataSheet(L, 3) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" _
        Or TabDataSheet(L, 4) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Or TabDataSheet(L, 5) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Or TabDataSheet(L, 6) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Or TabDataSheet(L, 7) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" _
        Or TabDataSheet(L, 8) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Or TabDataSheet(L, 9) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Or TabDataSheet(L, 10) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Then
        ReDim Preserve TabDataArray(10, i)
        For x = 1 To 10
            TabDataArray(x, i) = TabDataSheet(L, x)
        Next
        i = i + 1
    End If
Next L

On Error Resume Next
For i = 0 To UBound(TabDataArray, 2)
    UserForm_Liste.ListView_Annuaire.ListItems.Add , , (TabDataArray(1, i))
    If UserForm_Liste.TextBox_Recherche <> "" And TabDataArray(1, i) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Then
        UserForm_Liste.ListView_Annuaire.ListItems(UserForm_Liste.ListView_Annuaire.ListItems.Count).Bold = True
        UserForm_Liste.ListView_Annuaire.ListItems(UserForm_Liste.ListView_Annuaire.ListItems.Count).ForeColor = vbRed
    End If
    For x = 2 To UBound(TabDataArray, 1)
        UserForm_Liste.ListView_Annuaire.ListItems(i + 1).ListSubItems.Add , , (TabDataArray(x, i))
        If UserForm_Liste.TextBox_Recherche <> "" And TabDataArray(x, i) Like "*" & UserForm_Liste.TextBox_Recherche.Text & "*" Then
            UserForm_Liste.ListView_Annuaire.ListItems(UserForm_Liste.ListView_Annuaire.ListItems.Count).ListSubItems(x - 1).Bold = True
            UserForm_Liste.ListView_Annuaire.ListItems(UserForm_Liste.ListView_Annuaire.ListItems.Count).ListSubItems(x - 1).ForeColor = vbRed
        End If
    Next x
Next i
End Sub

2- PEUT-ON CHANGÉ LA COULEUR DES ENTÊTES DE LA LISTVIEW.

Je ne crois pas que l'on puisse changé la couleur des entêtes si facilement

3- ENLEVER LA RECHERCHE ADAPTATIVE: I.E.: ÉCRIRE DS BTE RECHERCHE ET FAIRE ENTER.

Supprimer la macro

Private Sub TextBox_Recherche_Change()
Alimente_ListView
'Force la Majuscule'
TextBox_Recherche = UCase(TextBox_Recherche)
End Sub

remplacer par

Private Sub Label_ENTER_Click()
Alimente_ListView
'Force la Majuscule'
TextBox_Recherche = UCase(TextBox_Recherche)
End Sub

Bonjour BOB71AU,

Vous avez résolu mes 2 problèmes principaux.

La recherche avec le bouton ENTER est maintenant instantanée avec mes 18,857 lignes de données.

Pour la surbrillance, c'est impressionnant. Je ne croyais pas que ça prenait une syntaxe si compliquée.

MERCI BEAUCOUP d'avoir pris temps de m'aider.

Rechercher des sujets similaires à "listview bogue reglage bis"