Comparer des listview

cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017 - 21 mai 2008 à 14:20
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017 - 3 juin 2008 à 15:31
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

jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
21 mai 2008 à 15:08
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
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
21 mai 2008 à 16:09
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?
0
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017
3 juin 2008 à 15:17
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
0
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017
3 juin 2008 à 15:31
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
0
Rejoignez-nous