Téléchargez l'exemple de classeur
Ce didacticiel vous montrera comment compter ou additionner des cellules d'une certaine couleur d'arrière-plan à l'aide de VBA.
Considérez la plage suivante dans Excel.
Il n'y a pas de fonction Excel intégrée pour compter les cellules colorées. Au lieu de cela, nous devons créer une fonction définie par l'utilisateur à l'aide de VBA.
Compter les cellules - Créer une fonction personnalisée VBA
Compter le nombre de cellules d'une certaine couleur à l'aide de VBA consiste à créer une fonction définie par l'utilisateur (UDF) qui parcourra toutes les cellules de la plage et déterminera si la couleur d'arrière-plan de chaque cellule correspond à la couleur d'arrière-plan que vous testent, puis utilisent cette fonction dans la feuille de calcul Excel.
En VBA, nous créons une fonction pour compter les cellules sélectionnées.
12345678910111213141516 | Fonction CountCellsByColor(rng As Range, ColorCell As Range) As DoubleDim dblCompter comme doubleDim rngCell As Range'boucle à travers chaque cellule de la plagePour chaque rngCell In rng'vérifiez si la couleur intérieure est de la même couleur que la cellule que vous avez sélectionnéeSi rngCell.Interior.Color = ColorCell.Interior.Color AlorsSi IsNumeric(rngCell.Value) = True Then'augmenter le compte de 1 si la couleur est correcte.dblCount = dblCount + 1Fin siFin siProchain'Renvoyer la valeur à ExcelCountCellsByColor = dblCountFonction de fin |
Utilisez ensuite cette fonction dans la feuille de calcul pour renvoyer la valeur.
1 | =CountCellsByColor(B2:E10,G4) |
- Cliquez dans la cellule orange de G4, puis cliquez sur Insérer une fonction.
- Sélectionner Défini par l'utilisateur comme catégorie, puis sélectionnez CompterCellulesParCouleur comme fonction à utiliser.
- Cliquez sur d'accord.
- Mettez en surbrillance la plage qui contient toutes les cellules colorées.
- Sélectionnez le CouleurCellule, puis cliquez sur d'accord.
Répétez le processus pour compter les cellules avec une couleur de fond vert.
1 | =CountCellsByColor(B2:E10,G5) |
Sum Cells - Créer une fonction VBA personnalisée
Nous créons une fonction personnalisée similaire dans VBA pour additionner les valeurs des cellules d'une certaine couleur.
12345678910111213141516 | Fonction SumCellsByColor(rng As Range, ColorCell As Range) As DoubleDim dblSum As DoubleDim rngCell As Range'Boucle à travers chaque cellule de la plagePour chaque rngCell In rng'vérifiez si la couleur intérieure est de la même couleur que la cellule que vous avez sélectionnéeSi rngCell.Interior.Color = ColorCell.Interior.Color AlorsSi IsNumeric(rngCell.Value) = True Then'ajouter la valeur à votre variable si la couleur est correctedblSum= dblSum + rngCell.ValueFin siFin siProchain'Renvoyer la valeur à ExcelSumCellsByColor = dblSumFonction de fin |
Nous utiliserions ensuite à nouveau cette fonction dans la feuille de calcul pour résumer les cellules requises.
1 | =SommeCellulesParCouleur(B2:E10,G7) |