Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Dernière ligne rempli d'un tableau de données filtrées

treza88

XLDnaute Occasionnel
Bonjour à tous,

J'ai un problème pour trouver la dernière ligne d'un tableau de données(tableau qui permet de filtrer en haut des colonnes).
Et justement je voudrais avoir la dernière lignes après filtrage.

J'ai utilisé ce code :

VB:
Dim finTab As Long

finTab = Worksheets("Ma Feuille").Cells(Rows.Count, 1).End(xlUp).Row

il me trouve le bas du tableau, mais toujours avec les cellules vides.
Même quand je filtre et que je masque les cellules vides.

Comment puis je résoudre le problème ?
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour treza88,

Si le tableau structuré est nommé Tableau1 exécutez :
VB:
finTab = [Tableau1].ListObject.Range.Find("*", , xlValues, , xlByRows, xlPrevious).Row
Si le tableau est filtré les lignes filtrées sont ignorées.

A+
 
Dernière édition:

treza88

XLDnaute Occasionnel
Merci job75 pour ta réponse, mais j'obtiens toujours 1 pour finTab.

Meme en selectionnant ma feuille :

VB:
finTab = Worksheets("maFeuille").ListObjects("monTableau").Range.Find("*", , xlValues, xlByRows, xlPrevious).Row
 

job75

XLDnaute Barbatruc
J'ai bien dit qu'avec la méthode Find les lignes filtrées sont ignorées !

Si l'on veut qu'elles soient prises en compte il faut utiliser une boucle :
VB:
Dim i&, finTab&
With [Tableau1].ListObject.Range
    For i = .Rows.Count To 1 Step -1
        If Application.CountA(.Rows(i)) Then Exit For
    Next i
    finTab = i + .Row - 1
End With
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…