Comparer 2 SubItems de 2 listview differents [Résolu]

Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
18 mars 2012
- - Dernière réponse : sancho12345
Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
18 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


End If
Next/i

Merci d'avance.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
3
Merci
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)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
18 mars 2012
0
Merci
Merci à toi pour tes explications.

Bonne soirée.
Commenter la réponse de sancho12345