ListView monter descendre l'index [Résolu]

Signaler
Messages postés
32
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
9 septembre 2005
-
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
-
Bonjour,

1/
J'aimerais sur une listview avec par exemple 3 lignes A, B, C
pouvoir monter le B à la place du A ou descendre le B à la place du C

2/
je sais faire un remove, et au cas où j'aimerais savoir comment on rajoute ou plutôt comment on insèere entre 2 lignes

merci d'avance

mytoo vmeiway

4 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
28
1)
pour monter une Ligne il faut intervertir toutes les zones avec la Ligne précédente, et pour descendre avec la Ligne suivante. mais si la propriété Sorted est à true les Lignes vont se remettre dans l'ordre qu'elle étaient.

2)
pour insérer un item entre l'index 1 et l'index 2
ListView.ListItems.Add 2,, "mon texte"

Daniel
3
Merci

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

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

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
28
pour le add sur une seule ligne non ça correpond pas.
ListView.ListItems.Add Index, Key, texte, Icon, SmallIcon

je crois bien qu'on est obligé de faire en plusieurs fois
ta méthode est valable, en voici une autre:
Dim Ligne As ListItem
Set Ligne = ListView.ListItems.Add(, , "colonne 0")
Ligne.SubItems(1) = "colonne 1"
Ligne.SubItems(2) = "colonne 2"

etc...

Daniel
3
Merci

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

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

Messages postés
32
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
9 septembre 2005

j'ai trouvé un moyen mais j'espère avoir une réponse plus simple

je renomme temporairement A en B et B en A
puis je fais un
listview
.Sorted = False
listview
.Sorted = True

je ne pense pas avoir trouvé la meilleur méthode

mytoo vmeiway
Messages postés
32
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
9 septembre 2005

merci Gobillot

pour ta réponse 2
Tu m'as éclairci, je me disais bien que j'avais déjà vu çà
ListView.ListItems.Add 2,, "mon texte"

si j'ai 3 ou 4 colonne
je dois faire ListView.ListItems.Add 2,, "mon texte", "mon texte", "mon textecol3", "col4"?

car moi j'utilise un truc de ce genre
With ListView.ListItems.Add
.text
.subitems(1)
...


End With

mytoo vmeiway