Formules Excel

Somme Si Couleur Excel : Comment additionner par couleur (méthodes simples)

15 janvier 2026 1 vues

Vous cherchez à additionner des valeurs dans Excel en fonction de la couleur de leur cellule ? Excel ne propose pas de fonction native "SOMME.SI.COULEUR", mais il existe plusieurs solutions astucieuses pour contourner cette limitation. Que ce soit via des fonctions personnalisées en VBA (Visual Basic for Applications) ou des méthodes alternatives ingénieuses, ce guide vous dévoile tout ce que vous devez savoir pour maîtriser la somme si couleur dans Excel et gagner un temps précieux dans vos analyses.

Comprendre la problématique de la somme si couleur dans Excel

Excel est un outil puissant pour la gestion et l'analyse de données, mais il ne propose pas de fonction native pour effectuer des opérations basées sur la couleur des cellules. La raison principale réside dans la manière dont Excel gère les couleurs : elles sont considérées comme des attributs de formatage et non comme des données intrinsèques. Par conséquent, les fonctions de calcul classiques comme SOMME.SI, MOYENNE.SI, etc., ne peuvent pas directement interpréter la couleur comme critère.

Cependant, ne désespérez pas ! Il existe plusieurs méthodes pour contourner cette limitation, allant de l'utilisation de VBA à des approches plus manuelles mais tout aussi efficaces.

Méthode 1 : Utiliser VBA (Visual Basic for Applications) pour créer une fonction personnalisée

La solution la plus courante et la plus flexible consiste à créer une fonction personnalisée en VBA. Cette fonction va extraire la couleur de fond d'une cellule et la renvoyer sous forme de code numérique, que vous pourrez ensuite utiliser dans une formule SOMME.SI.

Étape 1 : Ouvrir l'éditeur VBA

  1. Ouvrez votre classeur Excel.
  2. Appuyez sur les touches Alt + F11 pour ouvrir l'éditeur VBA.

Étape 2 : Insérer un module

  1. Dans l'éditeur VBA, allez dans le menu Insertion > Module.

Étape 3 : Copier et coller le code VBA suivant

Function SommeSiCouleur(plage_somme As Range, plage_couleur As Range, cellule_critere As Range) As Double
    Dim Couleur As Long
    Dim Cellule As Range
    Dim Total As Double

    Couleur = cellule_critere.Interior.Color
    Total = 0

    For Each Cellule In plage_couleur
        If Cellule.Interior.Color = Couleur Then
            Total = Total + plage_somme.Cells(Cellule.Row - plage_couleur.Row + 1, Cellule.Column - plage_couleur.Column + 1).Value
        End If
    Next Cellule

    SommeSiCouleur = Total
End Function

Explication du code:

  • Function SommeSiCouleur(plage_somme As Range, plage_couleur As Range, cellule_critere As Range) As Double: Déclare la fonction SommeSiCouleur qui prend trois arguments :
    • plage_somme: La plage de cellules à additionner.
    • plage_couleur: La plage de cellules dont la couleur sera comparée au critère.
    • cellule_critere: La cellule dont la couleur sert de critère.
    • As Double: Indique que la fonction renverra un nombre décimal.
  • Dim Couleur As Long: Déclare une variable Couleur de type Long pour stocker le code de la couleur.
  • Dim Cellule As Range: Déclare une variable Cellule de type Range pour parcourir les cellules.
  • Dim Total As Double: Déclare une variable Total de type Double pour stocker la somme.
  • Couleur = cellule_critere.Interior.Color: Récupère le code de la couleur de fond de la cellule critère et le stocke dans la variable Couleur.
  • Total = 0: Initialise la variable Total à 0.
  • For Each Cellule In plage_couleur: Démarre une boucle qui parcourt chaque cellule dans la plage plage_couleur.
  • If Cellule.Interior.Color = Couleur Then: Vérifie si la couleur de la cellule actuelle est égale à la couleur du critère.
  • Total = Total + plage_somme.Cells(Cellule.Row - plage_couleur.Row + 1, Cellule.Column - plage_couleur.Column + 1).Value: Si la couleur correspond, ajoute la valeur de la cellule correspondante dans la plage_somme au Total.
  • Next Cellule: Passe à la cellule suivante dans la boucle.
  • SommeSiCouleur = Total: Attribue la valeur de Total à la fonction SommeSiCouleur, qui sera la valeur renvoyée.
  • End Function: Termine la définition de la fonction.

Étape 4 : Utiliser la fonction dans votre feuille Excel

  1. Retournez à votre feuille Excel.
  2. Dans une cellule vide, entrez la formule suivante :

    =SommeSiCouleur(plage_de_somme, plage_des_couleurs, cellule_critere)

    • plage_de_somme : La plage de cellules contenant les valeurs à additionner.
    • plage_des_couleurs : La plage de cellules dont vous voulez vérifier la couleur.
    • cellule_critere : Une cellule quelconque ayant la couleur que vous recherchez.

    Exemple : Si vous voulez additionner les valeurs de la plage A1:A10 dont la couleur de la cellule correspond à la couleur de la cellule C1, et que la plage de couleurs est B1:B10, la formule sera :

    =SommeSiCouleur(A1:A10, B1:B10, C1)

Important : Cette méthode nécessite que vous enregistriez votre fichier Excel au format .xlsm (classeur Excel prenant en charge les macros).

Avantages de la méthode VBA

  • Flexibilité : Vous pouvez facilement adapter le code pour gérer différents critères (couleur de police, motifs, etc.).
  • Automatisation : Une fois la fonction créée, elle peut être réutilisée dans n'importe quel classeur.

Inconvénients de la méthode VBA

  • Nécessite des connaissances en VBA : La création et la maintenance du code nécessitent une certaine expertise en programmation.
  • Sécurité : Les macros peuvent présenter des risques de sécurité si elles proviennent de sources non fiables. Assurez-vous d'activer les macros uniquement si vous faites confiance à la source du fichier.
  • Ralentissement : Un grand nombre de fonctions VBA peut potentiellement ralentir le calcul de votre feuille.

Méthode 2 : Utiliser le filtre par couleur et la fonction SOUS.TOTAL

Cette méthode est plus manuelle mais ne nécessite pas de programmation VBA.

Étape 1 : Filtrer les données par couleur

  1. Sélectionnez la plage de cellules contenant les données et les couleurs.
  2. Dans l'onglet Données, cliquez sur Filtrer.
  3. Cliquez sur la flèche du filtre dans la colonne contenant les cellules colorées.
  4. Sélectionnez Filtrer par couleur et choisissez la couleur désirée.

Étape 2 : Utiliser la fonction SOUS.TOTAL pour additionner les cellules filtrées

  1. Dans une cellule vide, entrez la formule suivante :

    =SOUS.TOTAL(109, plage_a_additionner)

    • 109 : Indique à la fonction SOUS.TOTAL d'additionner uniquement les cellules visibles (celles qui sont filtrées).
    • plage_a_additionner : La plage de cellules contenant les valeurs à additionner.

    Exemple : Si vous voulez additionner les valeurs de la plage A1:A10 après avoir filtré par couleur, la formule sera :

    =SOUS.TOTAL(109, A1:A10)

Avantages de la méthode avec filtre et SOUS.TOTAL

  • Pas de VBA : Aucune connaissance en programmation n'est requise.
  • Facile à comprendre : La méthode est simple et intuitive.

Inconvénients de la méthode avec filtre et SOUS.TOTAL

  • Manuelle : Le filtrage doit être effectué manuellement à chaque fois que vous voulez changer de couleur.
  • Moins flexible : Ne permet pas d'automatiser le processus ni de gérer des critères plus complexes.
  • Temporaire : Le résultat de la somme est lié au filtre appliqué. Si vous enlevez le filtre, la somme inclura toutes les cellules.

Méthode 3 : Utiliser une colonne auxiliaire et la fonction SOMME.SI

Cette méthode consiste à créer une colonne supplémentaire qui contient une indication pour chaque couleur. Vous pourrez ensuite utiliser la fonction SOMME.SI classique.

Étape 1 : Créer une colonne auxiliaire

  1. Insérez une nouvelle colonne à côté de la colonne contenant les cellules colorées.
  2. Dans cette nouvelle colonne, entrez manuellement un code ou un texte pour chaque couleur. Par exemple, "Rouge", "Bleu", "Vert", etc.

Étape 2 : Utiliser la fonction SOMME.SI

  1. Dans une cellule vide, entrez la formule suivante :

    =SOMME.SI(plage_des_couleurs, critère, plage_a_additionner)

    • plage_des_couleurs : La plage de cellules contenant les codes de couleur (la colonne auxiliaire).
    • critère : Le code de la couleur que vous voulez additionner (par exemple, "Rouge").
    • plage_a_additionner : La plage de cellules contenant les valeurs à additionner.

    Exemple : Si la colonne auxiliaire est la colonne B, la plage à additionner est A1:A10, et vous voulez additionner les cellules avec la couleur "Rouge", la formule sera :

    =SOMME.SI(B1:B10, "Rouge", A1:A10)

Avantages de la méthode avec colonne auxiliaire et SOMME.SI

  • Facile à comprendre et à mettre en œuvre : Ne nécessite pas de VBA ni de connaissances avancées en Excel.
  • Utilise des fonctions Excel standard : Pas besoin de macros ni de fonctions personnalisées.
  • Flexible : Permet de gérer facilement plusieurs couleurs et d'autres critères.

Inconvénients de la méthode avec colonne auxiliaire et SOMME.SI

  • Manuelle : La création et la mise à jour de la colonne auxiliaire nécessitent un effort manuel.
  • Nécessite une colonne supplémentaire : Peut encombrer votre feuille de calcul.

Conseils et bonnes pratiques pour la somme si couleur dans Excel

  • Cohérence des couleurs : Assurez-vous que les couleurs sont appliquées de manière cohérente. Si les couleurs sont appliquées de manière aléatoire, les résultats seront inexacts.
  • Utiliser des noms de plages : Pour faciliter la lecture et la maintenance des formules, utilisez des noms de plages pour les plages de cellules impliquées dans les calculs.
  • Documentation : Documentez vos formules et votre code VBA pour faciliter la compréhension et la maintenance à long terme.
  • Tester les formules : Vérifiez toujours les résultats de vos formules pour vous assurer qu'ils sont corrects.
  • Éviter les couleurs codées en dur dans le code VBA : Préférez référencer une cellule contenant la couleur, cela rendra le code plus adaptable.

Erreurs courantes à éviter

  • Oublier d'enregistrer le fichier au format .xlsm : Si vous utilisez VBA, n'oubliez pas d'enregistrer votre fichier au format .xlsm pour conserver le code VBA.
  • Activer les macros de sources non fiables : N'activez les macros que si vous faites confiance à la source du fichier.
  • Utiliser des couleurs différentes pour la même catégorie : Assurez-vous d'utiliser la même couleur pour toutes les cellules appartenant à la même catégorie.
  • Ne pas actualiser les calculs : Après avoir modifié les couleurs, assurez-vous d'actualiser les calculs pour que les formules soient recalculées.

Conclusion

Bien qu'Excel ne propose pas de fonction native "SOMME.SI.COULEUR", il existe plusieurs méthodes efficaces pour additionner des cellules en fonction de leur couleur. La méthode VBA offre une solution flexible et automatisée, tandis que les méthodes avec filtre et SOUS.TOTAL ou colonne auxiliaire et SOMME.SI sont plus simples à mettre en œuvre mais nécessitent un effort manuel. Choisissez la méthode qui correspond le mieux à vos besoins et à votre niveau de compétence. En suivant les conseils et les bonnes pratiques présentés dans ce guide, vous serez en mesure de maîtriser la somme si couleur dans Excel et d'optimiser vos analyses de données.

Questions fréquentes

Pourquoi Excel n'a pas de fonction SOMME.SI.COULEUR ?

Excel considère la couleur comme un attribut de formatage et non comme une donnée intrinsèque. Les fonctions de calcul classiques ne peuvent donc pas directement interpréter la couleur comme critère.

La méthode VBA est-elle sûre ?

Les macros VBA peuvent présenter des risques de sécurité si elles proviennent de sources non fiables. Assurez-vous d'activer les macros uniquement si vous faites confiance à la source du fichier. De plus, vérifiez le code VBA avant de l'utiliser pour vous assurer qu'il ne contient pas de code malveillant.

Comment actualiser les calculs après avoir changé les couleurs ?

Excel recalcule automatiquement les formules lorsqu'il détecte un changement. Si les calculs ne s'actualisent pas automatiquement, vous pouvez forcer le recalcul en appuyant sur la touche `F9` ou en allant dans l'onglet `Formules` et en cliquant sur `Calculer maintenant`.

Mots-clés associés :

somme si couleur vba somme si couleur excel sans vba additionner par couleur excel compter si couleur excel excel couleur formule excel filtre couleur somme

Partager cet article :