Macro recherche dans listview -> mais doublon
Bonjour à tous !
Voilà j'ai un UF où j'ai une listview.
J'ai créé une macro qui me permet de recherché un ou regroupement de mots dans la listview et qui la réactualise.
Mais du coup, si le mot est trouvé plusieurs fois dans la même ligne (du tableur) il va m'ajouter autant de ligne dans la listview, ce que je ne veut pas.
Et c'est la que je bloque, j'essaie de lui dire: si tu trouve un mot alors "ta zone de recherche" est maintenant ligne plus bas(dans le tableur), pour éviter qu'il m'ajoute encore la même ligne (dans la listview) si le même mot recherché est encore sur la ligne du tableur.
Private Sub recherche_Change()
Dim ligne As Integer, cellule As Range, derlign As Long, origine As Range, ligne2 As Integer, position As Object
derlign = Sheets("BDD").Range("I" & Rows.Count).End(xlUp).Row
Set position = Sheets("BDD").Range("A2:I" & derlign)
With visio
.ListItems.Clear
ligne = 1
For Each cellule In position
ligne2 = cellule.Row
If InStr(1, cellule.Value, recherche) > 0 Then
Set origine = Sheets("BDD").Cells(ligne2, 1)
.ListItems.Add , , origine
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 1)
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 2)
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 3)
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 4)
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 5)
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 6)
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 7)
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 8)
.ListItems(ligne).ListSubItems.Add , , origine.Offset(0, 9)
ligne = ligne + 1
Set position = Sheets("BDD").Range("A2:I" & derlign).Offset(1, 0)
Else
End If
Next cellule
If recherche = "" Then
Call userform_Initialize
End If
End With
End SubVoilà mon code, c'est surment encore le bazar, il doit etre amélioré !
Merci de votre aide
Bonjour
Tu devrais joindre ton fichier avec ce que tu as au départ et un exemple de ce que tu veux obtenir.
Bye !