bon ben je n'ai rien trouvé sur l'object listrows avec un properties visible ou pas
https://docs.microsoft.com/en-us/off...excel.listrows
edit :
bon ben maintenant c'est plus clair
c'est encore special cell qui joue de vilain tours en fonction du range employé (tester tour a tour un des trois (set plage=....)) en debut de sub
de plus contrairement a un range classique on ne peut pas utiliser les index de cellule (voir le dernier debug)
bref j'avoue que j'ai pas pigé ou c'est sensé nous simplifier la vie
sachant qu'une propriété visible n'existe pas sur cet object du moins je ne l'ai pas trouvé ainsi que moulte outils et fonction que nous avons avec un range classique
et meme pire lorsque l'on obtient un range avec databodyrange la c'est carrément du n'importe quoi
perso je crois que je vais rester avec mes names (nom attribué a une plage)que j'utilise pour faire des tableaux distincts comme ca j'ai tout les outils vba excel a dispo
on a plus qu'a souhaiter que pierre trouve des solutions pour palier au manque d'outils de cet object dans son TUTO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub TestFonctionPatrick() Dim plage As Range, plage_visible_col_1 As Range ' Debug.Print "cherche la 5° ligne visible " & vbCrLf ' ' A tester les 3 ci dessous l'un apres l'autre 'Set plage = Range("tableau1").ListObject.DataBodyRange 'Set plage = ActiveSheet.Range("tableau1[#all]") Set plage = ActiveSheet.ListObjects("tableau1").Range ' Set plage_visible_col_1 = plage.Columns(1).SpecialCells(xlVisible) ' ' Debug.Print "plage complete avec entete :" & plage.Address ' ' Debug.Print "plage visible colonne(1) :" & plage_visible_col_1.Address & vbCrLf ' ' For Each cel In plage_visible_col_1.Cells i = i + 1: If i = 5 Then Debug.Print "test avec une boucle et sortie quand i arrive a 5 = ligne " & cel.Row & vbCrLf Next ' Debug.Print "test avec cells(index(5)) de la plage visible = ligne " & plage_visible_col_1.Cells(5).Row End Sub
ryu je vais regarder mais j'ai un doute car le test specialcells ne donne rien chez moi j'ai toujours la plage complete selon le mode d'obtention du range (voir mes 3 set plage en debut de sub )
Partager