sancho12345
Messages postés131Date d'inscriptionjeudi 21 mai 2009StatutMembreDernière intervention18 mars 2012
-
28 janv. 2010 à 18:37
sancho12345
Messages postés131Date d'inscriptionjeudi 21 mai 2009StatutMembreDernière intervention18 mars 2012
-
28 janv. 2010 à 22:04
Bonsoir à vous,
Pourriez-vous m?aider et m?expliquer comment faire pour comparer 2 SubItems de 2 listview differents.
Je m?explique :
J'ai 2 listview :
Le SubItems(1) du Listview6 a des nombres qui correspondent à des quantités
Le SubItems(3) du Listview2 a des nombres qui correspondent également à des quantités
J'aimerais pouvoir comparer ces 2 SubItems et si les nombres sont differents les envoyer vers un Listview7.
J'ai essayé avec ce code me cela ne fonctionne pas pourriez-vous m?aider.
[i]Dim bTrouvé As Boolean
Dim n As Long
Dim r As Long
For r = 1 To ListView6.ListItems.Count
bTrouvé = False
For n = 1 To ListView2.ListItems.Count
If ListView6.ListItems(r).SubItems(1) <> ListView2.ListItems(n).SubItems(3) Then
ListView7.ListItems.Add = ListView6.ListItems(r)
bTrouvé = True
Exit For
End If
Next
If Not bTrouvé Then
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 28 janv. 2010 à 19:11
Salut
Toujours ce même problème ...
La prochaine fois, colle ton code en utilisant la coloration syntaxique (3ème icone à partir de la droite) : cela conservera la mise en forme.
Je vois que depuis que je t'ai donné du code, tu n'as pas beaucoup refléchi ni analysé les lignes pour comprendre ce qu'elles font. Désolé, on ne refléchira pas à ta place.
Même ton explicatif est incomplet, c'est fort !
Comment veux-tu trouver de l'aide si tu ne sais pas expliquer ton problème ?
Tu as seulement oublié de dire que les Items des 2 ListView sont identiques (même nombre et même ordre ?) : C'est quand même important pour comprendre ce que tu cherches à faire, non ?
Dans le code que tu fournis ici, tu compares les SubItems 1 de chaque Item de la première ListView avec tous les SubItems 3 de chaque Item de l'autre ListView : ça n'a aucun sens !
Non, la structure que tu as mise en place (les 2 For-Next imbriqués) sont là pour rechercher l'Item (pas SubItem) de la ListView6 parmi ceux de la ListView2.
Une fois que tu seras sûr que ce sont bien les mêmes, alors seulement tu pourras comparer les SubItems entre eux.
If ItemDeLV6 = ItemDeLV2 Then
If SubItem(1) de ItemDeLV6 <> SubItem(3) de ItemDeLV2 Then
' L'action que tu veux faire :
ListView7.ListItems.Add = ListView6.ListItems(r)
End If
' Mémorise qu'on a trouvé le même Item (pas SubItem)
bTrouvé = True
' On suppose qu'il n'y a qu'un Item concerné par référence
Exit For ' on sort de la dernière boucle
End If
Le bTrouvé n'est là que pour savoir si, à la sortie du Next, tu as trouvé les mêmes Items et que tu as bien fait la comparaison des SubItems.
Que doit-il se passer si un Item de ListView6 n'existe pas dans ListView2 ?
--> Mets le dans le test If Not bTrouvé Then qui suit.
Vala
Jack, MVP VB 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)