Compter les cellules couleurs provenant d'une MFC

natorp

XLDnaute Accro
Bjr à tous et toutes,

j'ai bien lu dans les différentes discussions que le comptage de couleur provenant d'une MFC n'était pas possible.
Sauf que je n'arrive pas à écrire ma condition dans NB.SI

J'ai joins un petit fichier avec une explication dedans

merci de votre attention et votre aide
cordialement, Gérard
 

Pièces jointes

  • Test1.xls
    27.5 KB · Affichages: 72
  • Test1.xls
    27.5 KB · Affichages: 72
  • Test1.xls
    27.5 KB · Affichages: 76
Dernière édition:

Jocelyn

XLDnaute Barbatruc
Re : Compter les cellules couleurs provenant d'une MFC

Bonjour le Forum,
Bonjour natorp,

Un test en fichier joint

Jocelyn
 

Pièces jointes

  • natorp.xls
    27.5 KB · Affichages: 102
  • natorp.xls
    27.5 KB · Affichages: 102
  • natorp.xls
    27.5 KB · Affichages: 98

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compter les cellules couleurs provenant d'une MFC

Bonjour le fil, bonjour le forum,

Bien que vos propositions par formules soient plus efficaces, je me permets une solution VBA avec la macro ci-dessous :

Code:
Sub Macro1()
Dim plv As Range 'déclare la variable plv (PLage Verticale)
Dim cel1 As Range 'déclare la variable cel1 (CELlule 1)
Dim plh As Range 'déclare la variable plh (PLage Horizontale)
Dim cel2 As Range 'déclare la variable cel2 (CELlule 2)
Dim nb As Integer 'déclare la variable nb (NomBre)
Dim r As Range 'déclare la variable r (Recherche)
 
Set plv = Sheets("Nov Gardes 09").Range("C8:C" & Sheets("Nov Gardes 09").Range("C65536").End(xlUp).Row) 'définit la plage plv
 
For Each cel1 In plv 'boucle 1 sur toutes les cellules cel1 de la plage plv
    nb = 0 'réinitialise la variable nb
    Set plh = .Range(.Cells(cel1.Row, 4), .Cells(cel1.Row, 256).End(xlToRight)) 'définit la plage plh
 
    For Each cel2 In plh 'boucle 2 sur toutes les cellules cel2 de la plage plh
        If cel2.Value <> "" Then 'condition 1 : si la cellule n'est pas vide
            'condition 2 : si mise en forme conditionnelle vérifíée, nb s'incrémente de 1
            If Application.WorksheetFunction.Weekday(.Cells(7, cel2.Column)) = 1 Or _
                Application.WorksheetFunction.CountIf(Range("Fériés"), .Cells(7, cel2.Column)) = 1 Then nb = nb + 1
        End If 'fin de la condition 2
    Next cel2 'prochaine cellule cel2 de la boucle 2
 
    Set r = Sheets("Nov paie").Range("B5:B" & Sheets("Nov paie").Range("B65536").End(xlUp).Row).Find(cel1) 'définit la variable r
    If Not r Is Nothing Then r.Offset(0, 3).Value = nb 'si il existe au moins une occurrence de r, inscrit nb dans la colonne E
 
Next cel1 'prochaine cellule cel1 de la boucle 1
End Sub
 

natorp

XLDnaute Accro
Re : Compter les cellules couleurs provenant d'une MFC

Re,
Merci à Robert d'avoir créer cette macro, mais je préfère utiliser les formules car je suis dans une collectivité qui doit migrer en open office...
J'ai un soucis, j'avais oublié une précision importante dans les liste de choix, il y a 3 codes qui ne doivent pas influencer le nombre dans la feuille paye, C pour congé, ML pour longue maladie et R pour récupération
donc le nombre de dimanche ou jours fériés ne doit se calculer que s'il existe M ou S

merci de attention et votre aide,
cordialement, Gérard
 

Jocelyn

XLDnaute Barbatruc
Re : Compter les cellules couleurs provenant d'une MFC

re,
Bonjour JHA, Robert,

Revoila le fichier en tenant compte des codes M et S

Jocelyn
 

Pièces jointes

  • natorp(1).xls
    30 KB · Affichages: 79
  • natorp(1).xls
    30 KB · Affichages: 78
  • natorp(1).xls
    30 KB · Affichages: 78

natorp

XLDnaute Accro
Re : Compter les cellules couleurs provenant d'une MFC

Bjr Jocelyn et JHA
Ma réponse vous paraîtra peut-être tardive mais je n'ai pas pu bosser excel ce WE, votre réponse est parfaite et je me dois de remercier les excellents contributeurs d'excel-downloads pour le partage de leur savoir.
Merci et à bientôt pour un autre fil....
Cordialement, Gérard
 

Discussions similaires

Réponses
9
Affichages
937

Statistiques des forums

Discussions
312 571
Messages
2 089 775
Membres
104 272
dernier inscrit
stef606