Sous excel déterminer le nombre de case verte

Bonjour,

je cherche sous excel a déterminer le nombre de case verte qui coïncident avec des cases blanche
Merci a ceux qui pourront m'aider.
bluelinesjr

17 réponses

  1. Contributeur
    Salut le forum

    Merci de détailler un peu plus ta demande, c'est trop vague

    Ou utilise https://www.cjoint.com/ pour joindre un fichier,
    tu recopies ensuite le lien dans ton prochain message.

    Mytå
    1. Contributeur
      Comment as-tu coloré ces cases en vert ?

      Qu signifie exactement "le nombre de case verte qui coïncident avec des cases blanche" ?
      1. Contributeur
        Mais il n'y a rien dans tes cellules : ni code, ni mise en forme conditionnelle, rien !
        Sur quoi veux-tu qu'Excel travaille ?

        Au lieu de mettre des couleurs manuellement, tu aurais dû taper V pour vert, O pour orange, etc. et utiliser la mise en forme conditionnelle pour que le logiciel mette en vert la police et le remplissage des cellules contenant la donnée "V" ; pareil pour les autres couleurs.
        Il aurait été alors particulièrement facile d'utiliser la fonction NB.SI pour effectuer tes décomptes.

        Tel que ton fichier a été colorié, tu ne peux faire autrement que de demander à un amateur de VBA de t'écrire une macro ...
        1. Bonsoir le fait est que dans chacune de ces cases il y a déja des lettres que je n'ai pas affichées ici pour centrer le problème uniquement sur les couleurs.
          J'ai fait en sorte grâce à une macro qu'excel reconnaisse quand la couleur de fond est verte (couleur n° 43).
          Mais j'aimerai qu'il ne comptabilise que les cases "hors week-end"
          bonne soirée
          1. Contributeur
            Salut le forum

            Code à mettre dans un module

            Function NbreCellulesCouleur(Plage As Range, Couleur As Byte) As Long 
            'Compter le nombre de cellules d'une couleur donnée dans une plage donnée 
            'Plage: plage de cellules à inspecter 
            'Couleur: valeur de la couleur cherchée 
            
            Application.Volatile 
            
            Dim rCellule As Range 
            
            For Each rCellule In Plage 
                If rCellule.Interior.ColorIndex = Couleur Then 
                    NbreCellulesCouleur = NbreCellulesCouleur + 1 
                End If 
            Next rCellule 
            
            End Function 
            


            Formule dans la cellule C33

            =NbreCellulesCouleur(C1:C31;43)

            Mytå
            Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
            1. cool merci!
              maintenant je voudrais savoir si je peux de maniere automatique savoir le nombre de cellules verte hors week end...(en utilisant par exemple la colone B comme témoin)
              merci en tous les cas pour vos réponses
              1. Contributeur
                Re le forum

                Si tu ne veux pas comptabiliser les Samedi et Dimanche.
                En colonne B les dates.

                Code de la macro
                Function NbreOuvrableCouleur(Plage As Range, Decalage As Integer, Couleur As Byte) As Long 
                'Compter le nombre de cellules d'une couleur donnée dans une plage donnée 
                'Plage: plage de cellules à inspecter 
                'Decalage: offset pour colonne date 
                'Couleur: valeur de la couleur cherchée 
                
                Application.Volatile 
                
                Dim rCellule As Range 
                
                For Each rCellule In Plage 
                    If rCellule.Interior.ColorIndex = Couleur And _ 
                        Weekday(rCellule.Offset(0, Decalage), vbMonday) < 6 Then 
                            NbreOuvrableCouleur = NbreOuvrableCouleur + 1 
                    End If 
                Next rCellule 
                
                End Function

                La formule en C33
                =NbreOuvrableCouleur(C1:C31;2-COLONNE();43)


                Mytå

                Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
                1. merci beaucoup!
                  derniere question y a t il des tutos pour programer ce genre de macro?
                  merci
                  1. Contributeur
                    Re le forum

                    Bluelinesjr, c'est pour calculer le décalage dans la macro

                    Weekday(rCellule.Offset(0, Decalage), vbMonday)
                    afin de toujours récupérer la date en colonne B.

                    Formule en Colonne C : décalage de -1 (2-3)
                    Formule en Colonne D : décalage de -2 (2-2)
                    etc...

                    Mytå

                    Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
                    1. peux tu s'il te plais( je sais je rame énormément) me mettre quel serait la formulle en d33? svp
                      merci car je souhaite comprendre ....
                      1. Contributeur
                        Re le forum

                        Tu n'as qu'à recopier la formule de la cellule C33 vers la droite

                        Formule en D33
                        =NbreOuvrableCouleur(D1:D31;2-COLONNE();43)

                        Formule en E33
                        =NbreOuvrableCouleur(E1:E31;2-COLONNE();43)

                        Mytå
                        1. merci
                          mais je suis désolé je rencontre un problème car vois tu comme dans ce tableau
                          https://www.cjoint.com/?hcaQ0ZHjhH
                          le nombre de cases verte ne correspond pas...
                          et même si je crois avoir compris une parti de "la logique" de cette macro
                          la raison de ce "bug" m'échappe.