VBA - Additionner cellules en couleur

bonjour,

je cherche à additionner des cellules de mon tableau.

je voudrais que quand je passe une cellule en vert "RGB(60, 255, 60)"

le chiffre qui est dedans vienne ce mettre dans la case pièce fini et que quand il y en a plusieurs elle viennent additionner en temps réel au fur et à mesure que je passe les cellules en vert.

Est ce que vous auriez une solution pour ça ?

Bonjour,

Tu as une fonction SOMME_SI_COULEUR dans le pack de fonctions complémentaires du site.

https://www.excel-pratique.com/fr/fonctions-complementaires

Bonjour,

Tu as une fonction SOMME_SI_COULEUR dans le pack de fonctions complémentaires du site.

https://www.excel-pratique.com/fr/fonctions-complementaires

Super merci

aurais tu une idée pour avoir facilement le numéro de la couleur : car dans la fonction SOMME_SI_COULEUR il faut mettre la couleur à la fin par exemple : 14348258

comment je trouve ce chiffre si je veux la couleur RGB(60,255,60)

Tout est écrit !! Dans la documentation de cette fonction, il est indiqué dès le premier paragraphe que l'on peut s'aider de NO_COULEUR pour obtenir le code correspondant !

https://www.excel-pratique.com/fr/fonctions-complementaires/somme-si-couleur

Bonjour,

Quelques fonctions utiles :

    Public Function NbreCellulesCouleur(plage As Range, Couleur As Byte) As Long
        Application.Volatile
        Dim C As Range, n As Long
        For Each C In plage
            If C.Interior.ColorIndex = Couleur And Not IsEmpty(C) Then n = n + 1
        Next C
        NbreCellulesCouleur = n
    End Function
    Public Function SommeCellulesCouleur(plage As Range, Couleur As Long) As Double
        Application.Volatile
        Dim C As Range, S As Double
        For Each C In plage
            If C.Interior.Color = Couleur And Not IsEmpty(C) Then
                If IsNumeric(C.Value) Then
                    S = S + C.Value
                End If
            End If
        Next C
        SommeCellulesCouleur = S
    End Function

Pour connaitre la valeur d'une couleur RGB, Taper sous VBE dans la fenêtre Exécution (Ctrl+G) : ? RGB(60,255,60) à valider par Entrée.

Résultat : 3997500

Pedro :

merci je n'avais pas vu.

par contre quand je change une cellule, le résultat ne change pas automatiquement en direct :/

pijaku :

comment fonctionne la fonction ?

je dois rentrer dans une cellule : =SommeCellulesCouleur(B2:T27;3997500) pour avoir le résultat ?

je dois rentrer dans une cellule : =SommeCellulesCouleur(B2:T27;3997500) pour avoir le résultat ?

Tu dois :

> Ouvrir une fenêtre VBE : Alt + F11

> Insertion / Module

> Copier/Coller le code fournit plus haut (attention, je l'ai modifié)

> Fermer la fenêtre VBE,

> Dans une cellule, saisir : =SommeCellulesCouleur(B2:T27;3997500)

> Valider par Entrée

Code :

    Public Function SommeCellulesCouleur(plage As Range, Couleur As Long) As Double
        Application.Volatile
        Dim C As Range, S As Double
        For Each C In plage
            If C.Interior.Color = Couleur And Not IsEmpty(C) Then
                If IsNumeric(C.Value) Then
                    S = S + C.Value
                End If
            End If
        Next C
        SommeCellulesCouleur = S
    End Function

je dois rentrer dans une cellule : =SommeCellulesCouleur(B2:T27;3997500) pour avoir le résultat ?

Tu dois :

> Ouvrir une fenêtre VBE : Alt + F11

> Insertion / Module

> Copier/Coller le code fournit plus haut (attention, je l'ai modifié)

> Fermer la fenêtre VBE,

> Dans une cellule, saisir : =SommeCellulesCouleur(B2:T27;3997500)

> Valider par Entrée

il me met problème avec un nombre utilisé dans la formule. quand je valide dans ma cellule

Oui.

Erreur dans le code initial.

Je l'ai modifié depuis...

Oui.

Erreur dans le code initial.

Je l'ai modifié depuis...

Merci, ma page avait pas fini de charger je ne l'avais pas vu...

Rechercher des sujets similaires à "vba additionner couleur"