Comparer des listview

Signaler
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017
-
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017
-
Bonjour,

Voila mon probléme car j' ai beau faire tout ce que je peux mais je n' y arrive pas.

J' ai 2 listview à 2 colonnes qui contiennent des infos

et 1 troisiémes vide

Comment afficher dans la listview 3 les items qui manquent dans la listview2 par rapport à ceux de la listview1 ?

MERCI

Fripouil

4 réponses

Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Salut,

Private Sub CommandButton3_Click()
Dim IndexLV1 As Integer
Dim IndexLV2 As Integer
Dim IndexLV3 As Integer
Dim ValLV1 As String

Lv3.ListItems.Clear
IndexLV3 = 1

For IndexLV1 = 1 To Lv1.ListItems.Count
ValLV1 = Lv1.ListItems(IndexLV1).SubItems(1).Text

For IndexLV2 = 1 To Lv2.ListItems.Count
'Si il a été trouvé on passe à la ligne suivante dans Lv1
If Lv2.ListItems(IndexLV2).SubItems(1).Text = ValLV1 Then GoTo Suite
Next IndexLV2

'Si il n'a pas été trouvé on l'ajoute à LV3
Lv3.ListItems(IndexLV3).SubItems(1).Text = ValLV1
IndexLV3 = IndexLV3 + 1
End If
Suite:
Next IndexLV1
End Sub

Le principe est valable pour une colonne, tu devrs l'adapter pour la deuxième.
Jimy
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Rectification:
Le code ci-dessus controle la deuxieme colonne de chaque ligne.
Voici pour la premiere:

Private Sub CommandButton3_Click()
Dim IndexLV1 As Integer
Dim IndexLV2 As Integer
Dim IndexLV3 As Integer
Dim ValLV1 As String

Lv3.ListItems.Clear
IndexLV3 = 1

For IndexLV1 = 1 To Lv1.ListItems.Count
ValLV1 = Lv1.ListItems(IndexLV1).Text

For IndexLV2 = 1 To Lv2.ListItems.Count
'Si il a été trouvé on passe à la ligne suivante dans Lv1
If Lv2.ListItems(IndexLV2).Text = ValLV1 Then GoTo Suite
Next IndexLV2

'Si il n'a pas été trouvé on l'ajoute à LV3
Lv3.ListItems.Add IndexLV3, , ValLV1
IndexLV3 = IndexLV3 + 1
End If
Suite:
Next IndexLV1
End Sub

Mieux? Le "Lv3.ListItems.Add IndexLV3, , ValLV1" (Add) est indispensable pour creer une nouvelle ligne dans Lv3

Au fait, tu ne la pas précisé, si tu trouve une infos de Lv1 qui n'exista pas dans Lv2, tu recopie la ligne complete dans Lv3?
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017

Bonjour,

Merci encore mais je n' arrive pas à remplir mes 2 colonnes de ma listview3.

Soit j' arrive a afficher mes infos 1 dans la premiére colonne soit mes infos 2, mais rien ne se met dans la deuxiéme colonne.

Peux tu encore m' aider ?

Fripouil
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017

PS : voila ce qui se passe à peu prés

   ListView1               ListView2              ListView3

Code   Heure          Code   Heure        Code   Heure

0001 16:42             0001 16:42           0002
0002 16:43             0003 16:44
0003 16:44

mais je n' ai pas mon heure qui s affiche dans la listview3.

Sachant que les heures sont liées avec les codes et ne sont pas indépendanttes.

Merci encore