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

XL 2019 Sélectionner dernière cellule visible colonne filtrée

duplaly

XLDnaute Occasionnel
Bonjour
J'ai besoin d'aide et j'explique mon problème.
Comment sélectionner la dernière cellule visible de la colonne A qui est filtrée?

Voici mon code avec le quel, j'arrive à sélectionner la première cellule visible de la colonne «A»!
Dim vb As String
Dim vc As String

LastRow = Sheets("Commande").Cells(Rows.Count, 1).End(xlUp).Row
vb = Format(Range("A2:A" & LastRow).SpecialCells(xlCellTypeVisible).Cells(1), "d mmm yyyy")

Comment écrire le code pour sélectionner la dernière cellule visible de la colonne «A» qui est filtrée?

LastRow = Sheets("Commande").Cells(Rows.Count, 1).End(xlUp).Row
vc = Format(Range("A2:A" & LastRow).SpecialCells(xlCellTypeVisible).Cells(????), "d mmm yyyy")

Merci de m'aider!
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @duplaly,

Si vous connaissez le numéro de la dernière cellule visible de la colonne A (LastRow) alors la dernière cellule visible de la colonne A est Cells(LastRow,"1) ou Cells(LastRow,"a") ou Range("A" & LastRow)
et dans ce cas : vc =Format(Cells(LastRow,"a),"d mmm yyyy")

Pour tester:
Code:
Sub test()
Dim LastRow As Long, vc As String
   With Sheets("Commande")
      LastRow = .Cells(Rows.Count, "a").End(xlUp).Row
      vc = Format(.Cells(LastRow, "a"), "d mmm aaaa")
      MsgBox vc
   End With
End Sub
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Une plage Filtrée contient souvent plusieurs plages de cellules.
Méthode longue avec les aires de plage
VB:
Sub truc()
    Dim plg As Range
    Dim LastRow As Long
    With Sheets("Commandes")
        LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
        With .Range("A2:A" & LastRow).SpecialCells(xlCellTypeVisible)
            Set plg = .Areas(.Areas.Count)
            Debug.Print plg.Cells(plg.Count).Address
        End With
    End With
End Sub
Méthode courte avec Find
Code:
Sub Truc_2()
   Debug.Print Sheets("Tableau de données").Columns(1).Find("*", , , , xlByRows, xlPrevious).Address
End Sub


cordialement
[Edit] hello @JHA [/Edit]
 
Dernière édition:

Discussions similaires

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