DL = Cells(Application.Rows.Count, 2).End(xlUp).Row
Sub test1()
colonne = 2
If Range("Tableau1")(Range("Tableau1").Rows.Count, colonne) = "" Then
DLV = Range("Tableau1")(Range("Tableau1").Rows.Count, 2).End(xlUp).Row + 1
Else
DLV = "colonne " & colonne & " du tableau pleine"
End If
MsgBox (DLV)
End Sub
Function DerLigneColonne(NomColonne As String) As Long
Dim c As Range
With Feuil1.ListObjects(1)
With .ListColumns(NomColonne)
Set c = .Range(.Range.Rows.Count, 1)
'Chercher la dernière cellule de la colonne
If IsEmpty(c) Then Set c = c.End(xlUp)
'Si la colonne n'est pas entièrement vide, renvoyer sa ligne sinon la fonction renverra 0
If c.Row >= .Range.Row Then DerLigneColonne = c.Row
End With
End With
End Function
mais tout dépend de ce que tu veux exactement.
Sub PourRobert()
Dim DerL As Long
Dim TitreL As Long
Dim PremL
Dim Tblo As Range
Set Tblo = ActiveSheet.ListObjects(1).Range
TitreL = Tblo.Find("*").Row
PremL = Tblo.Find("*").Row + 1
DerL = Tblo.Find("*", , , , , xlPrevious).Row
MsgBox "Ligne d'entête : " & TitreL & Chr(10) & "première ligne : " & PremL & Chr(10) & "dernière ligne : " & DerL
End Sub
Sub Test()
Dim DerL As Long
Dim TitreL As Long
Dim PremL
Dim Tblo As Range
Set Tblo = ActiveSheet.ListObjects(1).Range
TitreL = Tblo(1, 1).Row
PremL = Tblo(2, 1).Row
DerL = TitreL + Tblo.Rows.Count - 1
MsgBox "Ligne d'entête : " & TitreL & Chr(10) & "première ligne : " & PremL & Chr(10) & "dernière ligne : " & DerL
End Sub
[Tableau1[Col2]].End(xlDown)(2).Address 'pour l'adresse
[Tableau1[Col2]].End(xlDown)(2).Row 'pour le N°
Sub d()
With [Tableau1[col2]]
If .Rows(1) <> "" Then
.Find("*", , , , , xlPrevious).Row
Else
MsgBox "pourquoi me faire chercher pour rien ?", 16, "Oh ..." 'je n'aime pas masquer les erreurs
End If
End With
End Sub
Sub Rectangleàcoinsarrondis1_Cliquer()
Dim lstObj As ListObject
Dim F As Worksheet
Set F = Sheets("INFO")
Set lstObj = Worksheets("TABLO").ListObjects("Tableau1")
MsgBox lstObj.DataBodyRange.Cells.Count
With F
.[C2] = lstObj.Name
.[C3] = lstObj.DataBodyRange.Cells.Count
.[C4] = lstObj.DataBodyRange.Columns.Count
.[C5] = lstObj.DataBodyRange.Rows.Count
.[C6] = lstObj.DataBodyRange.SpecialCells(xlCellTypeConstants).Count
.[C7] = lstObj.DataBodyRange.SpecialCells(xlCellTypeBlanks).Count
.[C8] = lstObj.DataBodyRange.SpecialCells(xlCellTypeFormulas).Count
.[C9] = lstObj.DataBodyRange.Columns(1).Cells.Count
.[C10] = lstObj.DataBodyRange.Columns(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Address
.[C11] = lstObj.DataBodyRange.Columns(1).Cells.Find("", , , , xlByColumns, xlPrevious).Address
.[C12] = lstObj.DataBodyRange.Columns(1).SpecialCells(xlCellTypeVisible).Address
.[C13] = "Ligne : " & lstObj.DataBodyRange.Columns(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Row
End With
End Sub
Sub Test()
Dim Tblo As Range, Adr$, Col&, Formu$
Col = 3 'Colonne où chercher
Set Tblo = ActiveSheet.ListObjects(1).Range
Adr = Tblo(1, Col).Address & ":" & Cells(Rows.Count, Tblo.Columns(Col).Column).End(3).Address
Formu = "MAX(NOT(ISBLANK(" & Adr & "))*ROW(" & Adr & " ))"
X = Evaluate([Formu])
MsgBox X
End Sub