Dim MaCellule As Range
' *** Variable à placer dans les déclarations
Public Function PremiereLigneVide(CelluleDepart As Range, _
MonOrdre As XlSearchOrder, MaDirection As XlSearchDirection) As Long
If MonOrdre = xlByRows Then
PremiereLigneVide = _
Columns(MaCellule.Column).Find("", MaCellule, , , MonOrdre, MaDirection).Row
Else
PremiereLigneVide = _
Columns(MaCellule.Column).Find("", MaCellule, , , MonOrdre, MaDirection).Column
End If
End Function
Private Sub ExempleUtilisation()
Sheets(1).Select
Set MaCellule = [A1]
' *** Il vous suffit de modifier la cellule de départ, pour la recherche, entre []
MsgBox PremiereLigneVide(MaCellule, xlByRows, xlNext)
' *** Ici, le 2ème et 3ème argument ont 2 possibilités proposées
' 2ème : xlByRows ou xlByColumns
' 3ème : xlNext ou xlPrevious
End Sub