Comment utiliser la fonction COUNTA dans VBA (avec exemples)
Vous pouvez utiliser la méthode CountA dans VBA pour compter le nombre de cellules non vides dans une plage spécifique.
Voici une façon courante d’utiliser cette méthode dans la pratique :
Sub CountARange()
Range("C1") = WorksheetFunction.CountA(Range("A1:A10"))
End Sub
Cet exemple particulier compte le nombre de cellules non vides dans la plage A1:A10 et affiche le résultat dans la cellule C1 .
Si vous souhaitez plutôt afficher le nombre de cellules non vides dans une boîte de message, vous pouvez utiliser la syntaxe suivante :
Sub CountARange()
'Create variable to hold results of CountA
Dim counta As Single
'Calculate number of non-empty cells in range
counta = WorksheetFunction.CountA(Range("A1:A10"))
'Display the result
MsgBox "Number of Non-Empty Cells in Range:" & counta
End Sub
Les exemples suivants montrent comment utiliser chacune de ces méthodes en pratique avec la colonne de valeurs suivante dans Excel :
Exemple 1 : compter les cellules non vides dans la plage et afficher les résultats dans la cellule
Supposons que nous souhaitions calculer le nombre de cellules non vides dans la plage A1:A10 et afficher les résultats dans une cellule spécifique.
Nous pouvons créer la macro suivante pour ce faire :
Sub CountARange()
Range("C1") = WorksheetFunction.CountA(Range("A1:A10"))
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que la cellule C1 contient la valeur 7 .
Cela nous indique qu’il y a 7 cellules non vides dans la plage A1:A10 .
Exemple 2 : compter les cellules non vides dans la plage et afficher les résultats dans la zone de message
Supposons que nous souhaitions plutôt compter le nombre de cellules non vides dans la plage A1: A10 et afficher les résultats dans une boîte de message.
Nous pouvons créer la macro suivante pour ce faire :
Sub CountARange()
'Create variable to hold results of CountA
Dim counta As Single
'Calculate number of non-empty cells in range
counta = WorksheetFunction.CountA(Range("A1:A10"))
'Display the result
MsgBox "Number of Non-Empty Cells in Range:" & counta
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 7 cellules non vides dans la plage A1:A10 .
Notez que si vous souhaitez plutôt compter le nombre de cellules non vides dans une colonne entière, vous pouvez plutôt taper A:A .
Cela calculera le nombre de cellules non vides dans toute la colonne A.
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA CountA ici .
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