Compter le nombre de lignes d'une plage

Bonjour à tous,

J'aimerais compter le nombre de lignes de deux plages dans la même feuille en utilisant UsedRange et CurrentRegion, mais le résultat est toujours faux.

Merci d'avance.

Bonjour

Regardes l'aide et tu verras que ce sont 2 objets différents

CurrentRegion est la zone délimitée par une ligne vide (dans ce cas c'est la ligne 2) et par une colonne vide (D1:D2)

Range.CurrentRegion, propriété

Cette propriété renvoie un objet Range qui représente la zone en cours. Celle-ci est une plage limitée par toute combinaison de lignes et de colonnes vides. Type de données en lecture seule.

UsedRange est ta zone de travail : De la 1ère cellule (généralement A1) jusqu'à la dernière cellule utilisée (dans ce cas c'est la J17 ==> Ligne 17)

Worksheet.UsedRange, propriété

Cette propriété renvoie un objet Range qui représente la plage utilisée dans la feuille de calcul spécifiée. Type de données en lecture seule.

Bonjour Banzai64,

Merci pour l'explication.

Une idée m'ait venu pour pouvoir compter les lignes d'une plage, même avec des cellules vides.

L'idée repose sur le test d'une cellule si elle a une bordure, on ajoute 1.

Et comme ça, on aura le nombre de cellules d'un tableau encadré.

Reste le code qui fera cela, si c'est possible bien sûr

Bonjour

Parceque cela m'amusait

Cellule de Départ I7

Sub truc()
Dim J As Long
Dim I As Integer
  For J = 7 To Rows.Count
    If Range("I" & J).Borders(xlEdgeBottom).LineStyle = xlNone Then Exit For
  Next J
  For I = 9 To Columns.Count
    If Cells(7, I).Borders(xlEdgeRight).LineStyle = xlNone Then Exit For
  Next I
  Range(Range("I7"), Cells(J - 1, I - 1)).Select
End Sub

Bonjour Banzai64,

Après adaptation, voila le code suivant :

Sub CompteLignesPlage()
    Dim L As Long
    Dim C As Integer

    For L = 1 To Rows.Count
        If Range("A" & L).Borders(xlEdgeBottom).LineStyle = xlNone Then Exit For
    Next L
    For C = 1 To Columns.Count
        If Cells(1, C).Borders(xlEdgeRight).LineStyle = xlNone Then Exit For
    Next C
    MsgBox "Lignes : " & L - 1 & vbCrLf & _
           "Colonnes : " & C - 1 & vbCrLf & _
           "Adresse plage : " & Range(Range("A1"), Cells(L - 1, C - 1)).Address

    Range(Range("A1"), Cells(L - 1, C - 1)).Select
End Sub

Merci encore.

Rechercher des sujets similaires à "compter nombre lignes plage"