Rechercher dans ce blog

Nombre total de pages vues (en milliers)

SOMME D'UNE PLAGE EN FONCTION DE LA COULEUR DE FOND DE LA CELLULE

Je vais vous expliquer comment faire la SOMME d'une plage de cellules en fonction de leur couleur de fond.

Cette possibilité est envisageable via une fonction personnalisée, mais je me dois de vous expliquer quelques petits paramètre avant tout.

Donc voici un exemple d'une plage de cellules colorisées :



La fonction personnalisée va nous permettre de faire la somme de toute cellules :
a) Jaune soit un total de  3.5
b) Bleu soit un total de 100
c) Rouge soit un total de  10.

Vous pouvez consulter la page suivante pour  VBA - Création de FONCTIONS personnalisées , vous y trouverez beaucoup de fonctions personnalisées très utiles et faciles à mettre en place.

Pour connaître dans un premier temps la couleur de fond d'une cellule, vous pouvez utiliser la fonction personalisée suivante :

Function Numero_Couleur_de_fond_Cellule(C As Object)
Application.Volatile True
Numero_Couleur_de_fond_Cellule = Abs(C.Interior.ColorIndex)
End Function


que vous collez un module.
Ensuite vous recherchez la fonction personnalisée dans la barre de formule qui apparaîtra comme ceci :

=Numero_Couleur_de_fond_Cellule() 

avec la fenêtre d'arguments de la fonction qui va s'ouvrir.


Il vous suffit de sélectionner la cellule pour connaître le numéro de la couleur de fond.

Ci-après un échantillonage de numéro de couleur.


Donc maintenant que vous avez compris comment connaitre la couleur de fond d'une cellule, la fonction personnalisée suivante va effectuer la somme des cellules d'une même couleur 

Option Explicit
Function SommeSiCouleurFondCellule(Plage As Range, cellule) As Double

Application.Volatile True
Dim wCell As Range
Dim NumeroDeCouleurFond
NumeroDeCouleurFond = cellule.Interior.ColorIndex
For Each wCell In Plage
If wCell.Interior.ColorIndex = NumeroDeCouleurFond Then
SommeSiCouleurFondCellule = SommeSiCouleurFondCellule + wCell.Value
End If
Next
End Function
 


Cette formule détecte automatiquement la couleur de fond de la cellule cible.


Exemple en D2, la formule effectue la somme de toutes les cellules de la couleur de fond de la cellule C2 (c'est-à-dire rouge) donc 10.
Idem pour les cellules jaunes et bleues.

Cet exemple calcule en fonction de la couleur de la cellule adjacente. 

Mais on peut encore aller plus loin en prenant en compte la couleur de fond de la cellule active.


 En E2 le calcul s'effectue en fonction de sa couleur de fond....

Allez profitez d'appliquer cette méthode rapidement.... 

  
 

 



 

 

Aucun commentaire :

Enregistrer un commentaire

Pour vous aider à publier votre commentaire, voici la marche à suivre :
1) Ecrivez votre texte dans le formulaire de saisie ci-dessus
2) Si vous avez un compte, vous pouvez vous identifier dans la liste déroulante Commentaire
Sinon, vous pouvez saisir votre nom ou pseudo par Nom/URL
3) Vous pouvez, en cliquant sur le lien S'abonner par e-mail, être assuré d'être avisé en cas d'une réponse
4) Cliquer sur Publier enfin.

Le message sera publié après modération.
Merci