Re,
Ah, sur ton dernier fichier ta listview n'affichait rien de mon côté, et le code manquait
En tout cas pas grave, sur le fichier que tu viens de joindre, je viens de passer en débugage, ton problème se trouve ici:
For y = 1 To m
.ListItems(rg2.Row - 2).ListSubItems.Add , , rg2.Offset(0, y)
Next y
Le souci est simple, tu utilises la ligne de ta cellule pour savoir à quelle ligne de ta ListView tu dois ajouter des éléments, le souci c'est que si comme dans ton cas, un élément n'est pas ajouté car il ne remplit pas les conditions, tu te retrouves avec une cellule en ligne 3 qui veut ajouter des éléments à la ligne 3 de ta ListView, alors qu'elle n'a que 2 lignes... ça te crée le message d'erreur "index out of bound". Il faut utiliser:
For y = 1 To m
.ListItems(.ListItems.Count).ListSubItems.Add , , rg2.Offset(0, y)
Next y
De cette façon, tu écris toujours à la dernière ligne de ta liste, en utilisant la propriété Count qui te dit: "j'ai 2 lignes", donc tu écris à la ligne 2
Voici le fichier corrigé: