Function PremiereLigneVide(r)
For i = 1 To r.Rows.Count
Set rr = r.Rows(i)
With rr
'Non Vide de valeurs et de formules
'Set rgv = .Find(what:="*", After:=.Cells(1, 1), LookIn:=xlFormulas, LookAt:=xlPart, SearchFormat:=False, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
'Non Vide de valeurs
Set rgv = .Find(what:="*", After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlPart, SearchFormat:=False, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If rgv Is Nothing Then
PremiereLigneVide = rr.Row
Exit For
End If
End With
Next
End Function
Sub test()
'Définir le Range
Set r = Range("B4:W" & Rows.Count)
'Trouver première ligne vide
LigneVide = PremiereLigneVide(r)
valeur = r.Parent.Cells(LigneVide, "A")
End Sub