VBA COUNTIF

VBA COUNTIF

Les fonctions basées sur des critères sont les règles d'Excel dans les calculs. Au début de l'apprentissage d'Excel, il faut avoir appris la fonction COUTNIF en Excel. Dans nos articles précédents, nous vous avons montré comment travailler avec la fonction COUNTIF dans Excel VBA.

Reportez-vous à notre article sur la formule COUNTIF dans Excel pour connaître les bases de la fonction COUNTIF dans Excel VBA. Dans cet article, nous allons vous montrer comment utiliser la même fonction dans le codage VBA. Maintenant, nous allons voir la même formule dans VBA. Tout d'abord, COUNTIF n'est pas une fonction VBA mais plutôt une fonction de feuille de calcul accessible sous la classe de fonctions de feuille de calcul.

Exemple de fonction Excel VBA Countif

Ok, voyons l'exemple simple.

Vous pouvez télécharger ce modèle Excel de fonction VBA Countif ici - Modèle Excel de fonction VBA Countif

Regardez le même exemple ci-dessous de comptage des valeurs du lot.

Dans l'image ci-dessus, nous avons les noms de villes de la cellule A1 à A10. Dans la cellule C3, nous devons compter le nombre de fois que le nom de la ville «Bangalore» apparaît dans la plage A1 à A10.

Ok, suivez les étapes ci-dessous pour écrire le code pour appliquer la fonction COUNTIF.

Étape 1: Démarrez la procédure Sub.

Code:

 Option Explicit Sub Countif_Example1 () End Sub 

Étape 2: Puisque nous devons stocker le résultat dans la cellule C3, commencez le code sous la forme Range («C3»).

Code:

 Sub Countif_Example1 () Range ("C3"). Value = End Sub 

Étape 3: Dans la cellule C3 en appliquant la fonction Excel VBA COUNTIF, nous essayons d'arriver au résultat. Donc, pour accéder à la fonction, nous devons d'abord utiliser la classe Worksheet Function.

Code:

Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction. End Sub

Étape 4: À partir de la fonction perdue, sélectionnez excel VBA COUNTIF.

Code:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (End Sub 

Étape 5: Si vous regardez les paramètres de la fonction VBA COUNTIF, nous ne voyons pas le paramètre comme nous le voyons dans la feuille de calcul.

Comme nous pouvons le voir dans l'image ci-dessus dans la feuille de calcul, nous avons une syntaxe claire, mais dans VBA, nous ne pouvons voir que Arg 1 et Arg 2.

Arg 1 est Range, sélectionnez donc la plage entre A1 et A10.

Code:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), End Sub 

Étape 6: Arg 2 est la valeur à compter de la plage A1 à A10. Dans cet exemple, nous devons compter «Bangalore».

Code:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), "Bangalore") End Sub 

Ok, nous avons terminé.

Exécutez le code pour voir le résultat dans la cellule C3.

Nous avons obtenu le résultat 4. Puisque le nom de la ville «Bangalore» apparaissant dans la cellule A1, A4, A7 et A10, la fonction VBA COUNTIF a renvoyé le résultat comme 4.

Si vous pouvez voir que le code VBA n'a renvoyé que le résultat de la formule, nous ne pouvons pas voir la formule dans la barre de formule.

Pour arriver à la formule, nous devons écrire le code légèrement différemment. Vous trouverez ci-dessous le code pour appliquer la formule elle-même à la cellule.

Code:

 Sub Countif_Example1 () Range ("C3"). Formula = "= CountIf (A1: A10," "Bangalore" ")" End Sub 

Cela appliquera la formule à la cellule C3.

Arriver résultat avec des variables

Les variables font partie intégrante de tout langage de codage. Nous devons déclarer des variables pour fonctionner efficacement avec le code VBA. Pour un exemple, regardez le code ci-dessous.

Code:

 Sub Countif_Example2 () Dim ValuesRange As Range Dim ResultCell As Range Dim CriteriaValue As String Set ValuesRange = Range ("A1: A10") Set ResultCell = Range ("C3") CriteriaValue = "Bangalore" ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue ) End Sub 

Laissez-moi décoder le code pour que vous puissiez mieux le comprendre.

Tout d'abord, j'ai déclaré les deux variables comme Range.

Dim ValuesRange As Range: Ceci sert à référencer la liste de valeurs.

Dim ResultCell As Range: Ceci pour référencer la cellule de résultat.

Ensuite, j'ai défini la plage de références aux deux variables.

Set ValuesRange = Range («A1: A10»): Il s'agit de la plage où se trouvent tous les noms de villes.

Set ResultCell = Range (“C3”): Dans cette cellule, nous allons stocker le résultat de la fonction COUNTIF.

En attendant, j'ai déclaré une autre variable pour stocker la valeur des critères.

Dim CriteriaValue As String

CriteriaValue = "Bangalore"

Alors maintenant, la variable «CriteteriaValue» contient la valeur «Bangalore».

Dans la ligne suivante, comme d'habitude, j'ai appliqué la fonction COUTNIF.

ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)

Comme ça, nous pouvons appliquer la fonction COUNTIF dans Excel VBA pour répondre à nos besoins.