Sub Hauteur()
Dim plage As Range, r As Range, premlig&, derligplus1&
'---determination de la plage (possibilité de sélection multiple)--
Set plage = Selection.Areas(1)
For Each r In Selection.Areas
Set plage = Range(r, plage)
Next
'---1ère ligne remplie---
Set r = plage.Find("*", , xlFormulas, , xlByRows)
If r Is Nothing Then GoTo 1
premlig = r.Row
If Not IsEmpty(plage(1)) Then premlig = plage.Row
'---dernière ligne remplie---
Set r = plage.Find("*", plage(1), , , xlByRows, xlPrevious)
derligplus1 = r.Row + 1
'---hauteur---
Intersect(plage, Rows(premlig & ":" & derligplus1 - 1)).Select
1 MsgBox derligplus1 - premlig, , "Hauteur"
End Sub