Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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

  • test count color.xlsm
    20.5 KB · Affichages: 16
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

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • test count color.xlsm
    26.8 KB · Affichages: 23

sylvanu

XLDnaute Barbatruc
Supporter XLD
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
 

Pièces jointes

  • test count color V2.xlsm
    25.9 KB · Affichages: 18

sylvanu

XLDnaute Barbatruc
Supporter XLD
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é.
 

sebastien176

XLDnaute Junior
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…