Nombre de dimanches

Résolu
Bonjour,

je recherche une fonction qui me calcule le nombres de dimanche travaillés
Je m'explique en colonne A jai ma date en B C D E G jai mes équipes 1 à 5 qui sont soi de matin soit d après midi soit de nuit soit de repos

Je voudrai calculer le nombre de dimanche travaillé par chaque équipes

Merci d'avance

20 réponses

  • Votes
  • Date
  • Date décroissante
  1. Re,

    avant de crier au loup, si tu regardais les réponses qui te sont faites et y répondre
    1. Re,

      je crois que tu en demande un peu trop, et dans tes données il manque des éléments de calcul.
      Si en colonne A tu as une date, il est possible de savoir si c'est un dimanche sans problème, mais après comment est structuré ton fichier en B C D E etc ... qui a t il dans ces colonnes des dates des symboles no sabe et Excel n'est pas devin pas plus que moi d'ailleurs
      1. Bonjour,

        pour avoir le nombre de dimanche entre deux dates d'après tes explications il manque une date. Si en A tu à une date de départ ou est la date de fin, en supposant qu'en A1 tu as la date de début et en A2 la date de fin cette formule te donnera le nombre de Dimanche à ne pas confondre avec le Wee-end

        =SOMMEPROD((JOURSEM(LIGNE(INDIRECT(A1&":"&A2)))=1) *1)
        1. Re,

          enfin un retour constructif,

          INDIRECT(A1&":"&A2) va prendre en compte les valeurs qui se trouve en A1:A2

          LIGNE(INDIRECT(A1&":"&A2)) va établir une liste de date numérique entre les deux dates qui se trouvent en A1 et A2, 41640 correspond au 1 janvier 2014, 41641 au 2 janvier 2014 etc ...

          {41640;41641;41642;41643;41644;41645;41646;41647;41648;41649;41650;41651;41652;41653;41654;41655;41656;41657;41658;41659;41660;41661;41662;41663;41664;41665;41666;41667;41668;41669;41670}

          (JOURSEM(LIGNE(INDIRECT(A1&":"&A2)))=1 en ajoutant à la fonction précédente =1 Excel va contrôler les dates dont le critère 1 ou dimanche est vrai

          {FAUX;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX}

          JOURSEM(LIGNE(INDIRECT(A1&":"&A2))) va établir la liste des jours semaine entre les deux dates, (1= dimanche, 2 = lundi etc ...

          {4;5;6;7;1;2;3;4;5;6;7;1;2;3;4;5;6;7;1;2;3;4;5;6;7;1;2;3;4;5;6}

          =SOMMEPROD((JOURSEM(LIGNE(INDIRECT(A1&":"&A2)))=1) *1) va compter le nombre de 1 de la syntaxe précédente soit 4

          A+
          Mike-31

          Une période d'échec est un moment rêvé pour semer les graines du savoir.
          1. Ou se trouve la condition Du dimanche travaille des colonne b c de f ?
            1. En A1 jai vendredi 28 novembre2014
              En A2 jai samedi 29 novembre 2014
              En A3 jai dimanche 30 novembre 2014
              En A4 jai lundi 31 novembre 2014

              En B1 j'ai MA (matin)
              En B2 j'ai AM (après-midi)
              En B3 jai AM
              En B4 jai NU ( nuit)

              Je voudrai savoir combien jai de dimanche en colonne A si je travaille SOIT MA SOIT AM SOIT NU ( colonne B)

              J espère etre clair !!!
              1. Re,

                en H4 que doit il y avoir, 18 le total des matins, après midi et nuit de la plage B2:B31, c'est cela et idem pour les colonnes suivantes

                A+
                Mike-31

                Une période d'échec est un moment rêvé pour semer les graines du savoir.
                1. ce nest pas le total des jours travaillée que je recherche mais le nombres de dimanches travaillés

                  en H4 je devrais avoir 3 pour 3 dimanche travaillés de la periode du mois de janvier

                  puis je le faire automatiquement ou avec une macro ?
                  1. Re,

                    ca devient plus clair, regarde comme cela pour H4

                    =SOMMEPROD((JOURSEM(A2:A31)=1)*(B2:B31<>"R") *1)
                    1. es ce que on peut faire la même chose pour les samedi de nuit travaillés ??
                      1. Re
                        en retour ton fichier avec une macro

                        http://cjoint.com/?3KDskfX33hz

                        A+
                        Maurice
                        1. Re,

                          oui bien sur pour compter les samedis de nuit pour eq1

                          =SOMMEPROD((JOURSEM(A2:A31)=7)*(B2:B31="NUIT") *1)

                          il faut savoir que le premier jour semaine pour Excel est dimanche, lundi = 2, mardi = 3 etc ...

                          ensuite tu peux tester les R comme j'ai traité les NUIT ou les MATIN etc ...

                          A+
                          Mike-31

                          Une période d'échec est un moment rêvé pour semer les graines du savoir.
                          1. Merci Maurice ,

                            la macro fonctionne très bien aussi et les formules aussi
                            encore un grand merci

                            mon problème est résolu
                            1. Re bonjour
                              voila un truc si tu veux jouer avec les macros

                              http://cjoint.com/?0Lbom1FX6rw

                              A=

                              Maurice
                              1. Bonjour

                                je voie une macro si j'ais bien compris

                                Sub TestDimanche()
                                For L = 2 To 31
                                Njour = Weekday(Range("A" & L).Value)
                                If Njour = 1 And Range("B" & L).Value <> "R" Then
                                Eq1 = Eq1 + 1
                                End If
                                If Njour = 1 And Range("C" & L).Value <> "R" Then
                                Eq2 = Eq2 + 1
                                End If
                                If Njour = 1 And Range("D" & L).Value <> "R" Then
                                Eq3 = Eq3 + 1
                                End If
                                If Njour = 1 And Range("E" & L).Value <> "R" Then
                                Eq4 = Eq4 + 1
                                End If
                                If Njour = 1 And Range("F" & L).Value <> "R" Then
                                Eq5 = Eq5 + 1
                                End If
                                Next
                                Range("H4").Value = Eq1
                                Range("I4").Value = Eq2
                                Range("J4").Value = Eq3
                                Range("K4").Value = Eq4
                                Range("L4").Value = Eq5
                                End Sub

                                A+
                                Maurice