Bonjour,
Après avoir cherché sur le site et ailleurs, je ne sais pas si il y une solution à ce problème:
le besoin : filtrer sur place et sans doublons une colonne
pour chaque élément de la liste filtrée (visible)
effectuer un traitementlire l'élément suivant
Le problème est que si ma liste filtrée à des trous (normal puisque élimination des doublons) , mon range s'arrete à la ligne de cette cellule. il ne contient apparemment que des lignes contigues :
le filtre est réalisé comme cela et fonctionne :je détermine mon range comme cela et si je fais un select dessus l'affichage parait OK :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range(Cells(lCurrentRow, lCol), Cells(lLastRow, lCol)).AdvancedFilter Action:=xlFilterInPlace, Unique:=True(j'ai essayé sans Used Range, avec je crois wks.Range.SpecialCells(xlCellTypeVisible) çà ne change rien au problème)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set rngFiltre = wks.UsedRange.SpecialCells(xlCellTypeVisible)
j'obtient quelque chose comme :
n° ligne
1 entete
2 mavaleur1
3 mavaleur11
4 mavaleur2
5 mavaleur3
26 mavaleur12
280 blanc
../..
Quand je parcoure on range rngFiltre, il s'arrete à la ligne 5 et si je fait un comptage rngFiltre.Rows.Count il me retourne 5 lignes.
Comment faire pour traiter toutes les lignes visibles de la liste ?
(j'ai essayé avec les areas, les header, etc. mais çà n'a rien donné)
Merci de votre aide
Partager