Compteur dans Excel VBA

Il existe différentes manières de compter dans MS Excel. Nous pouvons utiliser des fonctions intégrées telles que Count, CountIf, CountA, CountBlank qui sont là dans Excel. Mais ces fonctions ne fonctionneront pas correctement dans VBA et ont également des limites. Pour surmonter cela, nous avons de nombreuses fonctions et commandes et le processus par lequel nous pouvons exécuter VBA Counter. Le compteur VBA est utilisé pour compter la cellule, compter le contenu des cellules et également utilisé comme compte à rebours lorsque nous pouvons implémenter la feuille de temps pour mesurer n'importe quelle tâche.

Avec l'aide de VBA Counter, nous pouvons également compter les cellules avec leurs indices de couleur. Cet indice de couleur peut également correspondre à la couleur de la police ou à la couleur d'arrière-plan des cellules et aux valeurs en gras.

Comment créer un compteur dans Excel VBA?

Voici les différents exemples pour créer un compteur dans Excel à l'aide du code VBA.

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

Compteur VBA - Exemple # 1

Nous avons des données de nombres aléatoires dans la colonne A. Toutes les valeurs mentionnées sont aléatoires et n'ont aucun lien tel que dans la séquence ou la série. Maintenant, avec l'aide du processus VBA Counter, nous allons compter les nombres de valeurs les plus hauts et les plus bas et obtenir la sortie dans les cellules D2 et D3.

Nous comptons le nombre et les colorions simultanément selon le texte en couleur dans les cellules C2 et C3.

Pour cela, suivez les étapes ci-dessous:

Étape 1: créez un bouton de commande disponible dans l'onglet Développeur sous le contrôle Active X du menu Insertion, comme illustré ci-dessous.

Étape 2: Créez maintenant un bouton comme indiqué ci-dessous.

Étape 3: Cliquez à droite sur le bouton créé et accédez à l'option Propriétés .

Étape 4: changez la légende du bouton qui par défaut est CommandButton2 en n'importe quel nom souhaité. Ici, nous avons changé cela en « Comptage des cellules par valeur ».

Étape 5: Une fois terminé, faites un clic droit sur le bouton créé et sélectionnez l'option Afficher le code pour obtenir la fenêtre VBA.

Visual Basic Editor est ouvert maintenant et par défaut, un sous-programme est déjà créé pour le bouton de commande.

Code:

 Sub Sub CommandButton2_Click () End Sub 

Étape 6: Maintenant, nous devons déclarer 3 variables. Déclarez la première variable où nous allons stocker les nombres et la seconde variable par laquelle nous utiliserons le compteur comme des entiers comme indiqué ci-dessous. Et la 3ème variable sera aussi longue pour compter les nombres stockés dans chaque ligne.

Code:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long End Sub 

Étape 7: Maintenant, nous allons sélectionner la première cellule de la feuille qui est A1 comme plage. À partir de là, nous sélectionnerons les cellules jusqu'à ce qu'elles aient les numéros.

Code:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

Étape 8: Maintenant, nous allons ouvrir et écrire la condition dans la boucle For pour, si la cellule a la valeur supérieure à 10, la couleur de la police de la cellule sera changée en Jaune et pour la valeur inférieure à 10, la couleur de la police de la cellule sera changée en Bleu avec les indices de couleur 44 et 55 respectivement.

Code:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Alors Count = Count + 1 Cells (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 End If Next A End Sub 

Étape 9: Maintenant, pour voir la sortie des valeurs de la cellule A1 jusqu'à la fin, nous allons sélectionner les cellules comme expliqué ci-dessus par le code ci-dessous.

Code:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count As Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Puis Count = Count + 1 Cells (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 End If Next A Cells (2, 4) .Value = Count Cells (3, 4) .Value = 12 - Count End Sub 

Étape 10: Maintenant, exécutez le code en appuyant sur le bouton.

Nous verrons, les cellules contenant les nombres inférieurs à 10 sont surlignées en bleu. Et celui supérieur à 10 est surligné en jaune.

Compteur VBA - Exemple # 2

Dans cet exemple, nous utiliserons le compteur VBA pour mesurer le temps par lequel nous pouvons mesurer la prise que nous faisons. Supposons que si nous devons mesurer le temps nécessaire pour terminer une tâche, le processus que nous verrons ici est le meilleur à mettre en œuvre.

Pour cela, suivez les étapes ci-dessous:

Étape 1: Créez les 2 onglets de n'importe quelle forme à partir des options de formes du menu Insertion, comme illustré ci-dessous. Nous sélectionnons Rectangle: Rounder Corners .

Étape 2: Créez 2 boutons et nommez-les Start et Reset par lesquels nous allons démarrer le chronomètre et effacer l'heure.

Étape 3: Maintenant, allez dans VBA et ouvrez un module dans le menu Insertion.

Étape 4: Dans cela, écrivez la sous-catégorie de Start timer comme indiqué ci-dessous.

Code:

 Sub Start () End Sub 

Étape 5: Considérez un mot pour la ligne suivante tel que NextRow où nous sélectionnerons la feuille de calcul dans laquelle nous voulons implémenter le code. Ici, notre feuille est Sheet2 . Et ici, nous comptons les lignes de la cellule +1 qui est la cellule A2 jusqu'à ce que le curseur ait la valeur.

Code:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub 

Étape 6: Maintenant, pour entrer dans la ligne suivante, nous utiliserons le format de sommet où 1 dans le crochet est pour l'axe Y.

Code:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (NextRow, 1) = Time End Sub 

Étape 7: Écrivez le code de réinitialisation sous le même code de démarrage.

Code:

 Sub Reset () End Sub 

Étape 8: Maintenant, pour la réinitialisation, nous conserverons le même code que Start, mais le mot clé sera changé en LastRow et nous supprimons +1 juste pour ne pas avoir à entrer dans une autre ligne.

Code:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row End Sub 

Étape 9: Maintenant, pour effacer les données de la dernière cellule de la colonne A dans la première cellule, sélectionnez d'abord la plage de cellules avec la fonction ClearContents .

Code:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row Range ("A2: A" & lastrow) .ClearContents End Sub 

Fermez maintenant la fenêtre VBA.

Étape 10: cliquez avec le bouton droit sur l'onglet Démarrer et sélectionnez l'option Attribuer une macro .

Étape 11: Sélectionnez le sous-codage de démarrage que nous avons fait ci-dessus.

Étape 12: Faites de même pour le bouton Reset. Attribuez le sous-code de réinitialisation au bouton de réinitialisation et cliquez sur OK et quittez le mode de conception pour exécuter le code.

Étape 13: Maintenant, cliquez d'abord sur le bouton Démarrer . Nous obtiendrons l'heure de début à 3:51:33.

Étape 14: Maintenant, cliquez à nouveau sur le bouton Démarrer 2-3 fois pour obtenir plusieurs intervalles de temps. On verra, il y a un intervalle de quelques secondes à chaque itération.

Étape 15: Maintenant, après cela, nous allons tester le bouton Reset . Cliquez sur Réinitialiser. Nous verrons, les données sont maintenant effacées et prêtes pour un autre temps de comptage.

Avantages du compteur Excel VBA

  • Il est très facile d'implémenter le compteur de temps comme nous l'avons vu dans l'exemple-2.
  • VBA Counter a de nombreux types d'implémentation, cela ne se limite pas aux exemples que nous avons vus.

Choses dont il faut se rappeler

  • Il est toujours préférable d'attribuer le code à n'importe quel bouton lorsque nous avons effectué 2 types de code ou plus en un seul processus.
  • Quittez le mode de conception une fois que l'affectation et l'exécution du code sont effectuées à partir de l'onglet Développeur.
  • Nous pouvons également créer un compteur de temps en direct où nous pouvons voir le compte à rebours du temps ou regarder le temps en temps réel.
  • Enregistrez la macro dans Macro enable excel file format afin de ne pas perdre notre code.

Articles recommandés

Ceci est un guide pour VBA Counter. Ici, nous discutons de la façon de créer un compteur VBA dans Excel à l'aide du code VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Utilisation de l'erreur de débordement VBA dans Excel
  2. Exemples d'erreur VBA 1004
  3. Comment utiliser VBA DoEvents?
  4. Méthodes pour masquer les colonnes dans VBA

Catégorie: