XL 2013 Afficher un résultat si des cellules prédéterminées possèdent un remplissage

Rootgirl

XLDnaute Nouveau
Bonjour,

Je souhaite réaliser une opération qui pourrait paraître simple au premier abord mais qui me pose des problèmes lorsqu'il s'agit de la mettre en pratique.
L'idée serait d'afficher un résultat dans une cellule lorsque telle et telle cellules sont remplies (j'entends par remplissage: "couleur de fond").

Concrètement, je voudrais que ma cellule A4 renvoie "X" (constante) si A1, A2 et A3 possèdent chacune un remplissage. Dans ce cas, il s'agirait d'un remplissage manuel avec "style de cellule --> satisfaisant". L'idéal serait d'avoir un système qui fonctionne à l'inverse de la mise en forme conditionnelle (Si "mise en forme" alors ""X").
J'ai pensé à utiliser la fonction CELLULE("couleur";référence). Ainsi, dans ma formule en A4, une cellule remplie me renverrait un 1 et le cas échéant un 0. De cette manière, si je veux que mon "X" apparaisse lorsque mes 3 cellules sont remplies, un simple test logique=3 me permettrait de valider ma condition. Malheureusement je n'arrive pas à faire fonctionner la fonction CELLULE("couleur"; ).

Petite aide pour la compréhension de mon problème:
Regarde la pièce jointe 362922

Peut-être pouvez-vous m'en dire d'avantage sur le fonctionnement de cette fonction (j'ai eu beau chercher dans tous les recoins du net: nada, rien, peanuts).
Et si ma solution n'est pas la bonne, pouvez-vous m'indiquez une technique qui permette de détecter le remplissage d'une cellule (quelle que soit la couleur de remplissage)?

Vous remerciant par avance.
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    39.2 KB · Affichages: 30
  • Capture.JPG
    Capture.JPG
    39.2 KB · Affichages: 29
Dernière modification par un modérateur:

Caillou

XLDnaute Impliqué
Re : Afficher un résultat si des cellules prédéterminées possèdent un remplissage

Bonjour,

D'après l'aide d'Excel pour la fonction CELLULE,
"couleur" - la valeur 1 si la cellule est mise en forme en couleur pour les valeurs négatives, sinon renvoie 0 (zéro).
donc la formule =CELLULE("couleur";A1) ne retourne pas 1 si A1 a une couleur de fond !!!
Caillou
 

Lone-wolf

XLDnaute Barbatruc
Re : Afficher un résultat si des cellules prédéterminées possèdent un remplissage

Bonjour Rootgirl et bienvenue sur XLD :)

Impossible de télécharger le fichier, met-le en pièce jointe ici. Clique sur "Aller en mode avancé", "Gérér les pièces jointes" et tu joint le fichier. Sinon, au lieu de SOMME essaie avec NB.SI.
 

Lone-wolf

XLDnaute Barbatruc
Re : Afficher un résultat si des cellules prédéterminées possèdent un remplissage

Re

Voici une fonction (à mettre dans un module standard) qui permet de compter le nombre de cellules en couleur non MFC.

Code:
Function Nombre_Couleurs(ByRef Plage As Range, ByRef Cellule As Range) As Long
    Nombre_Couleurs = NbCouleurs(Plage, Cellule.Interior.ColorIndex)
End Function

Function NbCouleurs(ByRef Plage As Range, Couleur As Byte) As Long
    Dim c As Range
    Dim nb As Long
    nb = 0
    For Each c In Plage
        If c.Interior.ColorIndex = Couleur Then
            nb = nb + 1
        End If
    Next c
    NbCouleurs = nb
End Function

Ensuite en C2 par exemple: =Nombre_Couleurs(A1:A3;A1) et en E2: =SI(C2=3;1;0). Enfin si j'ai bien compris ta demande.
 
Dernière édition:

Rootgirl

XLDnaute Nouveau
Re : Afficher un résultat si des cellules prédéterminées possèdent un remplissage

Merci pour vos réponses,

Caillou, j'avais bien compris que CELLULE("couleur"; A1) ne renvoyait pas 1. C'était en fait l'objet de mon post.
Je vais donc sûrement passer pour un âne, mais que signifie: "mise en forme pour des valeurs négatives"? Est-ce que cela fait référence à une mise en forme conditionnelle? Pour faire les choses simplement, peux-tu me donner un exemple pour lequel la fonction CELLULE renvoie 1?

Lone-wolf, merci pour ton code. Je ne suis pas un expert en code VBA mais il me semble que ton code a pour but de compter le nombre de cellules mises en forme. Ce que je souhaiterai c'est avoir la possibilité de tester si une cellule est remplie ou non. Par exemple, si la cellule est remplie, la fonction renvoie 1 sinon 0.

A vous lire.
 
Dernière modification par un modérateur:

Caillou

XLDnaute Impliqué
Re : Afficher un résultat si des cellules prédéterminées possèdent un remplissage

Re,

Format de cellule / onglet Nombre
Capture.JPG

avec cet exemple, la fonction =CELLULE("couleur";x) retourne 1

Caillou
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    49.1 KB · Affichages: 31

Discussions similaires

Réponses
0
Affichages
214

Statistiques des forums

Discussions
312 177
Messages
2 085 976
Membres
103 077
dernier inscrit
kamel26asus