Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 2012
-
11 mars 2005 à 16:42
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 2013
-
12 mars 2005 à 01:17
Voilà en fait j ai un pti probleme de doublons et je voudrais les virer ...
Voici le traitement que je fais mais je n arrive pas a enlever la ligne qui est en double
Evidement LgLigneTab est le nombre de ligne de la listbox
For i = 1 To LgLigneTab
LignePrecedente = recherche.listtrouvé.List(i)
LigneSuivante = recherche.listtrouvé.List(i + 1)
If LignePrecedente = LigneSuivante Then
'enlever la ligne suivante'
End If
Next i
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 11 mars 2005 à 17:37
Salut
Ta réponse est dans le forum, suffit de taper 'doublon listbox' dans la case recherche !
Dans ton cas, tu ne vérifie que les doublons successifs, ce qui sous-entend que ta liste est classée (sort).
De plus, il faut savoir que, dans une boucle For-Next, la valeur finale de la boucle n'est pas recalculée à chaque cycle, donc si tu supprimes un élément du ListBox, il y aura erreur en fin de boucle --> Utilise plutôt les boucles Do While-Loop
Pour supprimer un élément, c'est "Remove x" où x est l'index de la ligne
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 12 mars 2005 à 01:17
Bonjour
Une autre solution (toujours en supposant que la liste est triée par Sorted=True) :
commencer par la fin.
For i = recherche.listtrouvé.ListCount - 1 To 1 Step -1
If recherche.listtrouvé.List(i) = recherche.listtrouvé.List(i - 1) Then
recherche.listtrouvé.RemoveItem (i)
End If
Next i