Faire le tri d'une ListView suivant critères dans SubItems(x)

  • Initiateur de la discussion Initiateur de la discussion IFFIC
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

IFFIC

XLDnaute Occasionnel
Bonsoir à ceux qui passeront par là.
(Encore moi!!!)

Je ne parviens pas à faire une boucle complète sur ma ListView

En disant que si le "SubItems(3)" est égal à 'Truc" ou "Machin"
Tu "Remove" le ListView1.ListItems, ou tu suis le lien de la colonne 5..et c.

Je dois cliquer moult fois mon bouton de commande pour obtenir
le résultat; ce qui ne me semble pas VBAtesquement Normal.

Quand les "SubItems(3)" ne sont pas identiques au précédent, ni au suivant, cela fonctionne.
(Preuve; dans le classeur joint)

Merci d'avance, et bonne soirée à tous.

IFFIC
 

Pièces jointes

Re : Faire le tri d'une ListView suivant critères dans SubItems(x)

salut IFFIC,

un conseil : quand tu détruis des items, n'utilises jamais de boucle For/Next.

la boucle For / Next va par exemple de 0 à 9 (10 éléments). si tu effaces un item, la boucle va toujours se faire de 0 à 9, or il ne reste plus que 9 éléments, d'où l'erreur sur la dernière itération de la boucle.

utilise plutôt Do Loop avec un indice dans la proc CommandButton4_Click :
Code:
Private Sub CommandButton4_Click()
    i = 1
    Do
        If Me.ListView1.ListItems(i).ListSubItems(3) = "BLEU" Then
            Me.ListView1.ListItems.Remove i
        Else
            i = i + 1
        End If
    Loop Until i > Me.ListView1.ListItems.Count
End Sub
 
Re : Faire le tri d'une ListView suivant critères dans SubItems(x)

Kobaya à dit:
salut IFFIC,

un conseil : quand tu détruis des items, n'utilises jamais de boucle For/Next.

la boucle For / Next va par exemple de 0 à 9 (10 éléments). si tu effaces un item, la boucle va toujours se faire de 0 à 9, or il ne reste plus que 9 éléments, d'où l'erreur sur la dernière itération de la boucle.

utilise plutôt Do Loop avec un indice dans la proc CommandButton4_Click :
Code:
Private Sub CommandButton4_Click()
    i = 1
    Do
        If Me.ListView1.ListItems(i).ListSubItems(3) = "BLEU" Then
            Me.ListView1.ListItems.Remove i
        Else
            i = i + 1
        End If
    Loop Until i > Me.ListView1.ListItems.Count
End Sub

Merci Kobaya,Voltairien au langage fort délectable.

Je viens de tester et cela marche pour le mieux.

Je m'étais douté que la "ListItems.Count" variait selon ce qu'il en restait
D’où l'erreur.

Mais encore eut-il fallu qu'une bonne âme comme toi
guide mes vieux doigts sur le clavier.

Si Bill utilisait la langue de Molière, ne serait-il pas plus facile? N'est-il pas?

Merci beaucoup à toi, et bonne soirée.

P.S. D'où viens ce pseudonyme 'Kobaya"?
Un hasard, ou une réalité?

Amicalement

IFFIC
 
Re : Faire le tri d'une ListView suivant critères dans SubItems(x)

D'où vient mon pseudo ? Hasard ou réalité ? Je n'en sais rien... Un jour, j'ai entendu ce nom, et comme je trouvais qu'il sonnait bien, je l'ai gardé 😀

Merci pour le
au langage fort délectable
ça me fait plaisir de voir qu'il y a au moins une personne ici-bas qui prête encore attention à la langue française. Des fois, quand je lis certains posts, je désespère 🙁

P.S.
Ce qui ne m'empêche pas de faire, moi aussi, des fautes. Notamment, quand je veux répondre très vite parce que je suis "à la bourre", ou que je ne veux pas me faire doubler par les cracks de ce forum (que celui qui ne fait jamais ça me jette le premier bug !). Non, je ne citerai personne pour ne pas faire de jaloux 😉
 
Dernière édition:
Re : Faire le tri d'une ListView suivant critères dans SubItems(x)

Le "Bien parler" est un autre débat!

Dans mon entreprise je me lamente des "Simplifications"
de stagiaires "Elèves Ingénieurs"'. Bigre que j'ai l'air d'un vieux con.

La belle écriture est la science des ânes (N'a-t-il pas été dit)

L'orthographe est celle qui aime leur langue.
Mais pas très facile en francais, il faut l'avouer.

Quand la gentillesse comme la tienne est là,
comme bien d'autes ici, on en a rien à fiche.

Au plaisir de te rencontrer sur ce site.

IFFIC
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour