Microsoft 365 Compter des cellules colorées avec mise en forme conditionnelle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sebastien176

XLDnaute Junior
Bonjour à tous,

Je bloque sur un problème et j'ai beau cherché sur le net, je ne trouve pas la solution

J'ai un tableau avec des cellules blanches et violettes que je voudrais pouvoir sommer
Le soucis est que ce tableau à une mise en forme conditionnelle
En effet les cellules on une liste déroulante et suivant le résultat, elle se colorent en vert, rouge ou orange

Le but étant de compter les cellules blanches et violettes sans que la mise en forme conditionnelle ne change le résultat

Est-possible ?
Si possible en vba

Ci-joint, le fichier avec explication

Merci d'avance pour votre aide

Seb 😉
 

Pièces jointes

Solution
Ou encore plus simple, de simples formules et une fonction perso :
VB:
Function Violet(Plage As Range)
    Dim N%
    Application.Volatile
    For Each C In Plage
        If C.Interior.Color = RGB(112, 48, 160) Then N = N + 1
    Next C
    Violet = N
End Function
Bonjour Sébastien,
Bien que je l'ai déjà vu quelque part, je ne me rappelle plus comment compter les MFC. Mais ce n'était pas simple.
Une autre idée est de remettre les règles MFC en VBA, comme en PJ, avec :
VB:
Sub Compte()
    Dim V0%, V1%, V2%, V3%, V4%
    V0 = 0: V1 = 0: V2 = 0: V3 = 0: V4 = 0
    For Each C In Range("B3:H23")
        Select Case C.Value
            Case "FAIT OK":             V1 = V1 + 1
            Case "FAIT NOK":            V2 = V2 + 1
            Case "PAS FAIT":            V3 = V3 + 1
            Case "PAS DE PERSONNEL":    V4 = V4 + 1
        End Select
        If C.Interior.Color = RGB(112, 48, 160) Then V0 = V0 + 1
    Next C
    [D28] = V0: [D29] = V1: [D30] = V2: [D31] = V3: [D32] = V4
End Sub
 

Pièces jointes

Bonjour Staple,
Merci c'est ce que j'avais oublié. (c'est archivé!)
Ceci étant dit, ça n'aurait pas servi à grand chose car les cellules violettes ne font l'objet d'aucune MFC, c'est la couleur du fond.
C'est pour ça qu'au post #3 ça s'est simplifié. 🙂
 
Ou encore plus simple, de simples formules et une fonction perso :
VB:
Function Violet(Plage As Range)
    Dim N%
    Application.Volatile
    For Each C In Plage
        If C.Interior.Color = RGB(112, 48, 160) Then N = N + 1
    Next C
    Violet = N
End Function
Super Merci Beaucoup Sylvanu
Je vais prendre ta 1ère solution ... elle est plus adaptable à mon fichier 😉
Merci pour ton retour très rapide

Une dernière petite question :
Est-il possible d'interdire la copie d'un fichier Excel
Je m'explique : Le fichier que j'ai créé est sur réseau (interne entreprise) et malheureusement quelques personnes "s'amusent" à faire une copie de ce fichier et au bout du compte je me retrouve avec XX copies à la racine du dossier dans lequel il se trouve ....

Si tu as une soluc, je suis preneur

Merci d’avance

Seb
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
42
Retour