Trouver en formule et en VBA les numéros de lignes filtrées.

MJ13

XLDnaute Barbatruc
Bonjour à tous

Comment trouver en VBA et en formule les numéros de lignes filtrées (voir fichier) ?

Merci d'avance :).
 

Pièces jointes

  • TrouveLigneElémentsFiltrés.xls
    19 KB · Affichages: 58

MJ13

XLDnaute Barbatruc
Re : Trouver en formule et en VBA les numéros de lignes filtrées.

Bonjour Pierrot

Merci beaucoup :).

Cela donnerait ceci en macro:

Code:
Sub Trouve_Lignes_Filtrées()
   derl = [A1].SpecialCells(xlLastCell).Row
   Range("A2:A" & derl).Select
   Selection.SpecialCells(xlCellTypeVisible).Select
    'MsgBox Selection.Rows.Count
    For Each cell In Selection
      If cell <> "" Then MsgBox cell.Row
    Next
End Sub
 

david84

XLDnaute Barbatruc
Re : Trouver en formule et en VBA les numéros de lignes filtrées.

Bonjour,
par formules :
Code:
=PETITE.VALEUR(SI(SOUS.TOTAL(3;DECALER(A2;LIGNE(A$2:A$8)-LIGNE(A2);));LIGNE(A$2:E$8));LIGNES($1:1))
Formule matricielle à tirer vers le bas et à tester sous ton tableau (sinon, tu vas masquer certaines lignes).
A+
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Trouver en formule et en VBA les numéros de lignes filtrées.

Bonjour David

Merci pour cette formule :). Mais je m'aperçois que dans mon cas, le VBA sera plus souple.

J'ai repris un peu le code:

Code:
Sub Trouve_Lignes_Filtrées()
   derl = [A3].SpecialCells(xlLastCell).Row
   derl = Cells(3, 1).End(xlDown).Row
   derl = Cells(65536, 1).End(xlUp).Row
   n = Application.Subtotal(3, Range("A3:A" & derl))
   If n = 0 Then MsgBox "pas d'élément dans le filtre": End
   derl = Cells(65536, 1).End(xlUp).Row
   'stop
   Range("A3:A" & derl).Select
   Selection.SpecialCells(xlCellTypeVisible).Select
    MsgBox Selection.Rows.Count
    For Each cell In Selection
      If cell <> "" Then MsgBox cell.Row
    Next
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87