Compteur à deux conditions

Bonjour à tous,

Après avoir parcouru le forum et essayé les solutions proposées sans résultat, je me tourne vers vous pour trouver de l'aide.

J'ai un fichier (en pièce jointe) où j'aimerais compter les occurrences de noms en fonction de la couleur de fond. J'ai essayé de faire une fonction VBA pour détecter la couleur et ensuite l'appliquer à un NB.SI.ENS mais ça ne marche pas. Je précise que les couleurs ne sont pas issues d'une mise en forme conditionnelle.

Pour être plus clair, j'aimerais que la case Hors cycle du nom "A" retourne le nombre fois où A apparait avec un fond bleu et que la case Congés du nom "A" retourne le nombre de fois où A apparait sur un fond rouge.

Je m'excuse si cela paraît être un n-ième doublon car le sujet est déjà traité mais je n'arrive vraiment pas à faire tourner les solutions proposées.

En vous remerciant par avance pour votre aide

10test.xlsx (14.82 Ko)

Bonjour,

Il n'y a pas de fonctions Microsoft pour dénombrer des cellules colorées. Il faut les fabriquer !

Mais j'aperçois une particularité avec tes cellules fusionnées... ! En dire un peu plus à ce propos...

Egalement, Hors cycle = bleu, ça n'apparaît que dans ton post, pas dans le fichier, il serait bon que les couleur soient référencées...

Cordialement.

Merci pour ta réponse,

Qu'ont de particulier les cellules fusionnées ? En fait, je construis les blocs de cette façon pour des raisons dues à l'exercice.

Je remets un fichier avec les tests que j'ai faits et qui ne fonctionnent pas.

Cordialement.

11test.xlsm (19.88 Ko)

Bonjour à tous,

Wam21, regarde ici: https://forum.excel-pratique.com/viewtopic.php?t=38947

Tu devrais pouvoir l'adapter à ton cas

Cordialement,

8pour-foxy45.xlsm (15.48 Ko)

Re,

Voilà une fonction qui fait le job...

Function NBSICOUL(plNb As Range, cClr As Range, Optional vl) As Long
    Dim n&, clr&, c As Range, v
    Application.Volatile
    clr = cClr.Interior.Color
    If Not IsMissing(vl) Then v = vl Else v = "*"
    For Each c In plNb.Cells
        If c.Interior.Color = clr And c.Value Like v Then n = n + 1
    Next c
    NBSICOUL = n
End Function

Les arguments sont la plage où se fait le dénombrement, le cellule repère pour identifier la couleur cherchée, et la valeur cherchée).

J'ai rendu le dernier argument optionnel : s'il est omis on compte uniquement sur la couleur, cela élargit l'utilisation de la fonction. Mais attention, en cas de cellules fusionnées, toutes les cellules sont comptées (par exemple si tu l'appliques à la même plage pour compter les cellules rouges, le résultat sera 42).

Cordialement.

16wam21-test.xlsm (20.41 Ko)

Re,

Un essai

Edit: Décidement MFerrand, tu ne cesseras de m'épater ! J'étais pourtant si fière d'avoir trouvé une solution,

8copie-de-test.xlsm (21.76 Ko)

Bonjour,

je vais encore faire mon râleur mais...

  • les cellules fusionnées sont source de problème
  • je pense que les date doivent TOUJOURS être en vertical et pas horizontal et autres données à côté (tcd plus tard bien facile)
  • pourquoi mettre M en B2 et 1 en B3 alors que B3 = 01/05/18 et B2 = B3 avec format personnalisé "jj" , ainsi les 2 sont liés et pas de possibilité d'erreur entre jour et date

P. (et on est pas obligé d'être d'accord)

Salut Patrick !

Il faut se garder d'opinions systématiques... Je serais d'accord avec toi pour bannir les cellules fusionnées, s'agissant d'une base de données ou de situations dans lesquelles elles compliquent le travail ou risquent d'introduire des erreurs...

Mais il y a des utilisations où elles peuvent être mises à profit pour jouer un rôle fonctionnel, et je ne vois pas de raison de s'en priver le cas échéant.

Je ne suis systématique que sur l'utilisation d'un Select préalable à l'action en VBA...

Cordialement.

Merci MFerrand et xorsankukai pour votre aide précieuse, je vais étudier ça.

Quant à patrick1957, je vais tenter d'améliorer ces cellules de date, il est vrai que pas à pas, mon but est d'obtenir le fichier le plus "propre" possible.

Merci vraiment à vous tous

Salut Patrick !

Il faut se garder d'opinions systématiques... Je serais d'accord avec toi pour bannir les cellules fusionnées, s'agissant d'une base de données ou de situations dans lesquelles elles compliquent le travail ou risquent d'introduire des erreurs...

Mais il y a des utilisations où elles peuvent être mises à profit pour jouer un rôle fonctionnel, et je ne vois pas de raison de s'en priver le cas échéant.

Je ne suis systématique que sur l'utilisation d'un Select préalable à l'action en VBA...

Cordialement.

Salut Fernand,

on est +/- d'accord mais nous avons (surtout toi) une certaine expérience d'excel; je ne conseillerais pas les fusions à des débutants même si niveau présentation ça aide ; mais partant de là, certains en font trop est c'est difficile de s'y retrouver dans le tableau (quand on n'utilise pas excel comme traitement de texte , LOL).

Pour moi les dates ont leurs places en vertical, parce que je tente de voir plus loin et ne pas trouver des formules, certes qui fonctionnent, mais difficiles à adapater pour un débutant ou un fichier ayant une structure différentes des exemples montrés (ceci arrivant souvent, tu en es témoin comme moi Et ok pour les "select" bien sur.

Bon, je ne suis pas fermé mais les fusions .. bof bof

Patrick

Rechercher des sujets similaires à "compteur deux conditions"