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

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

Réponses
10
Affichages
217
Réponses
2
Affichages
121
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…