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