Sub Selectionner7()
Dim col, ligdeb&, deb As Range, i%, lig&, derlig&
col = Array("B", "D", "F", "H", "J") 'colonnes à étudier, à adapter
ligdeb = 5 '1ère ligne, à adapter
Set deb = Cells(ligdeb, col(0))
On Error Resume Next 'si une plage est vide
With deb.Resize(Rows.Count - deb.Row + 1, Columns.Count - deb.Column + 1)
For i = 0 To UBound(col)
lig = 0
lig = Intersect(.Cells, Columns(col(i))) _
.Find("*", , xlValues, , xlByRows, xlPrevious).Row
If lig > derlig Then derlig = lig
Next
End With
Range(deb, Cells(derlig, col(i - 1))).Select
MsgBox Selection.Address 'pour tester
End Sub
Sub Selectionner8()
Dim col, ligdeb&, deb As Range, i%, lig&, derlig&
col = Array("B", "D", "F", "H", "J") 'colonnes à étudier, à adapter
ligdeb = 5 '1ère ligne, à adapter
Set deb = Cells(ligdeb, col(0))
On Error Resume Next 'si une plage est vide
With deb.Resize(Rows.Count - deb.Row + 1, Columns.Count - deb.Column + 1)
For i = 0 To UBound(col)
lig = 0
lig = Intersect(.Cells, Columns(col(i))) _
.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
If lig > derlig Then derlig = lig
Next
End With
Range(deb, Cells(derlig, col(i - 1))).Select
MsgBox Selection.Address 'pour tester
End Sub