VBA : Comment compter le nombre de lignes dans la plage



Vous pouvez utiliser la syntaxe de base suivante pour compter le nombre de lignes dans une plage dans Excel à l’aide de VBA :

Sub CountRows()
    Range("E2") = Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
End Sub

Cet exemple particulier compte le nombre de lignes dans la colonne A, puis attribue le résultat à la cellule E2 .

Si vous souhaitez plutôt afficher le nombre de lignes dans une boîte de message, vous pouvez utiliser la syntaxe suivante :

Sub CountRows()
    'Create variable to store number of rows
    Dim row_count As Integer
    
    'Calculate number of rows in range
    row_count = Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
    
    'Display the result
    MsgBox "Rows in Column A: " & row_count
End Sub

Les exemples suivants montrent comment utiliser chacune de ces méthodes en pratique avec l’ensemble de données suivant dans Excel qui contient les noms des joueurs de basket-ball de trois équipes différentes :

Exemple 1 : compter les lignes dans la plage à l’aide de VBA et afficher les résultats dans la cellule

Supposons que nous souhaitions calculer le nombre de lignes dans la colonne A et afficher les résultats dans une cellule spécifique.

Nous pouvons créer la macro suivante pour ce faire :

Sub CountRows()
    Range("E2") = Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

Notez que la cellule E2 contient la valeur 9 .

Cela nous indique qu’il y a 9 lignes dans la colonne A avec des valeurs.

Exemple 2 : compter les lignes dans la plage à l’aide de VBA et afficher les résultats dans la boîte de message

Supposons que nous souhaitions plutôt compter le nombre de lignes dans la colonne A et afficher les résultats dans une boîte de message.

Nous pouvons créer la macro suivante pour ce faire :

Sub CountRows()
    'Create variable to store number of rows
    Dim row_count As Integer
    
    'Calculate number of rows in range
    row_count = Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
    
    'Display the result
    MsgBox "Rows in Column A: " & row_count
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

La boîte de message nous indique qu’il y a 9 lignes dans la colonne A avec des valeurs.

Notez que dans cet exemple, nous avons calculé le nombre de lignes dans toute la colonne A en utilisant A:A comme plage.

Cependant, si vous souhaitez plutôt calculer le nombre de lignes avec des valeurs dans une plage spécifique, vous pouvez taper A2:A9 (ou toute autre plage qui vous intéresse).

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

VBA : Comment écrire des fonctions AVERAGEIF et AVERAGEIFS
VBA : Comment écrire des fonctions SUMIF et SUMIFS
VBA : Comment écrire les fonctions COUNTIF et COUNTIFS

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *