Détermination de la dernière ligne REELLE d'une colonne Excel

Contenu du snippet

Le but de ce code :
Déterminer la dernière ligne remplie, masquée ou non, d'une colonne, quel que soit le nombre de plages masquées ou de lignes vides présentes.

Code de la fonction :
Private Function derlig_reelle(plage As Range) As Long
   'cas d'absence de données dans la plage à traiter :
   If WorksheetFunction.CountA(plage) = 0 Then derlig_reelle = plage.Cells(1, 1).Row: Exit Function
   'dans tous les autres cas :
   derlig_reelle = plage.Find("*", , , , , xlPrevious).Row
End Function


Avec ce code, vous pourrez déterminer, non seulement la dernière ligne réelle d'une colonne, qu'elle que soit la configuration de vos données (lignes vides et/ou masquées), mais également d'une plage de cellules ou même d'une feuille entière.
Ce code est fonctionnel même en cas d'insertion ou de suppression de lignes, contrairement à la méthode SpecialCells (Cells.SpecialCells(xlCellTypeLastCell) qui nécessite une sauvegarde du classeur dans ces cas.

Exemples d'utilisation :
'Dernière ligne réelle d'une colonne :
MsgBox derlig_reelle(Worksheets("Feuil1").Columns(1))
MsgBox derlig_reelle(Worksheets("Feuil1").Columns("A"))
MsgBox derlig_reelle(Worksheets("Feuil2").Range("B:B"))
'Dernière ligne réelle d'une plage de cellules (fonctionne même si la dernière ligne est située en colonne C)
MsgBox derlig_reelle(Worksheets("Feuil1").Range("A10:G153"))
'Dernière ligne réelle d'une feuille
MsgBox derlig_reelle(Sheets("Feuil3").Cells)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.