Pb avec 2 listview

Résolu
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011 - 27 déc. 2006 à 13:39
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011 - 27 déc. 2006 à 14:56
bonjour

Voila je dois comparer le contenu de 2 listview et si l'une des deux contient le meme item que l'autre il faut le surpprimé .
j'ai fais ceci mais je ne comprend pas pourqoui rien ne se supprime quand il y a les meme items :s
Ce sont deux listview sur 2 form différentes   
Private Sub Form_Load()   
 
For i = 1 To frmgestio.lvw.ListItems.Count
           For j = lvw.ListItems.Count To 1 Step -1
             If frmgestio.lvw.ListItems.Item(i)= lvw.ListItems.Item(j) Then lvw.ListItems.Remove (j)
            Next
            
next
end sub

merci d'avance dodo1309

7 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 déc. 2006 à 13:59
ton code est dans le Form_Load...

pas sur que ta liste lvw soit non vide......

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 déc. 2006 à 14:51
Bah justement, dans le Form_Load, tu charge tes composants => ta listview est forcément vide.
Si tu appelle une procédure pour la remplir, elle ne le sera qu'après la sub Form_Load !

Essaye ceci, et tu verra vite que ta listview est vide lorsque tu veux la supprimer :
Private Sub Form_Load()   
 MsgBox lvw.ListItems.Count
end sub
3
elmak2005 Messages postés 5 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 27 décembre 2006
27 déc. 2006 à 13:41
Salut

Juste un essai rapide de t'aider peut etre il faut rafraichir apres la suppression
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
27 déc. 2006 à 13:44
non sa marche toujours pas :s
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
27 déc. 2006 à 14:39
elle ne sera jamais vide car on y ajoute des items dans une autre procédure
0
DavidWhitewater Messages postés 81 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 1 janvier 2010
27 déc. 2006 à 14:44
Salut, je suis plutôt sous VB2005 alors pas sûr que mes remarques soit valables.

Tu test :

If frmgestio.lvw.ListItems.Item(i)= lvw.ListItems.Item(j)

Hors l'opérateur '=' n'est  pas définit pour des ListViewItems, il faudrait utiliser 'Is'. Mais dans ce cas là il faut être sûr que toutes les propriétées des Items soit identique.

Essaye plutôt :

If frmgestio.lvw.ListItems.Item(i).ToString = lvw.ListItems.Item(j).ToString

A plus.
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
27 déc. 2006 à 14:56
oui en effet ca me donne 0

je l'ai mit dans un autre évenement est en effet cela marche !!

mici
0
Rejoignez-nous