Calcul samedi et dimanche

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

scoobydoos

XLDnaute Nouveau
Bonjour,
Après plusieurs recherches pour plusieurs questions que je me posais sur excel, je tombais souvent sur votre site donc c'est pour cela que je me suis inscrit sur ce forum.

voila mon soucis :
Je suis sous excel 2007.
j'ai 12 onglets pour un calendrier automatique, je rentre l'année et pour chaque mois, j'ai les week-end et les jours fériés en couleur.
Je voudrais compter le samedis et dimanche par mois.
J'ai donc une cellule qui contient
=FIN.MOIS(C14;0)-C14-(NB.JOURS.OUVRES(C14;FIN.MOIS(C14;0);Fériés))
D'où C14 est ma date de début du mois et "Fériés" ma liste de jours fériés dans l'année.

J'ai trouvé d'autres formules mais elles ne marchent pas car il faudrait que les dates soient fixes.

Merci pour votre aide

@+
 
Re : Calcul samedi et dimanche

Bonjour

Saisir l'année en B1 : 2009

Pour les samedis (à saisir en B3:M3 )
Code:
=SOMMEPROD(--(JOURSEM(LIGNE(INDIRECT(DATE($B$1;COLONNE()-1;1)&":"&DATE($B$1;COLONNE()-1;31)));1)=7))
Pour les dimanches (à saisir en B4:M4)
Code:
=SOMMEPROD(--(JOURSEM(LIGNE(INDIRECT(DATE($B$1;COLONNE()-1;1)&":"&DATE($B$1;COLONNE()-1;31)));1)=1))

PS: Pour ceux qui veulent éviter de saisir les formules 😉
Code:
Sub C_EST_PLUS_SIMPLE_AINSI()
[A1:A4] = Application.Transpose(Array("ANNEE", "", "SAMEDIS", "DIMANCHES")): [B1] = Year(Date): [B2].FormulaR1C1 = "Janvier"
Range("B2").AutoFill Destination:=Range("B2:M2"), Type:=xlFillDefault
With Range("B3:M3")
    .FormulaR1C1 = "=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(DATE(R1C2,COLUMN()-1,1)&"":""&DATE(R1C2,COLUMN()-1,31))),1)=7))"
    .Value = .Value
End With
With Range("B4:M4")
    .FormulaR1C1 = "=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(DATE(R1C2,COLUMN()-1,1)&"":""&DATE(R1C2,COLUMN()-1,31))),1)=1))"
    .Value = .Value
End With
End Sub
 
Dernière édition:
Re : Calcul samedi et dimanche

Re



Une solution tout en VBA (Merci à Allen pour sa fonction)

Code:
Function MonthWeekDays(dDate As Date, iWeekDay As Integer)
    Dim dLoop As Date ' source: Allen Wyatt
    If iWeekDay < 1 Or iWeekDay > 7 Then
        MonthWeekDays = CVErr(xlErrNum)
        Exit Function
    End If
    MonthWeekDays = 0
    dLoop = DateSerial(Year(dDate), Month(dDate), 1)
    Do While Month(dLoop) = Month(dDate)
        If Weekday(dLoop) = iWeekDay Then _
            MonthWeekDays = MonthWeekDays + 1
        dLoop = dLoop + 1
    Loop
End Function

Code:
Sub NBR_SAM_ET_DIM_DANS_UNE_ANNEE()
Dim a As Long, i
Cells.Clear: a = Year(Date)
For i = 1 To 12
Cells(i + 1, 1) = StrConv(Format(DateSerial(a, i, 1), "mmmm"), vbProperCase)
Cells(i + 1, 2) = MonthWeekDays(DateSerial(a, i, 1), 7)
Cells(i + 1, 3) = MonthWeekDays(DateSerial(a, i, 1), 1)
Next
'+++ci-dessous+++
'code pouvant être supprimé car optionnel (pour faire joli uniquement)
    With [A1]
        .Value = a
        .Font.Size = 12
        .Offset(, 1).Resize(, 2) = Array("SAMEDIS", "DIMANCHE")
    With .CurrentRegion
        .Borders.LineStyle = xlContinuous
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With
    End With
With Union([A1], [A2:A13], [B1:C1])
    .Font.Bold = True
    .Interior.ColorIndex = 36
End With
'+++fin du code pouvant être supprimer+++
End Sub
 
Re : Calcul samedi et dimanche

Bonjour,
merci pour vos réponses mais un peu compliqué pour et j'ai essayé... marche pas..
Bon en fait je cherche à calculer mes jours travaillés, c'est à dire sans les CP et RTT et ni samedi et dimanche.
Voila des pistes ?
merci par avance
 
Re : Calcul samedi et dimanche

Bonjour,

Nb jours ouvrés entre 2 dates (en A2 et B2)

=SOMMEPROD((JOURSEM(LIGNE(INDIRECT(A2&":"&B2));2)<6)*(NB.SI(fériés;LIGNE(INDIRECT(A2&":"&B2)))=0)*
(ESTNA(EQUIV(LIGNE(INDIRECT(A2&":"&B2));LIGNE(INDIRECT(dvac1&":"&fvac1));0)))*
(ESTNA(EQUIV(LIGNE(INDIRECT(A2&":"&B2));LIGNE(INDIRECT(dvac2&":"&fvac2));0))))

JB
Formation Excel VBA JB
 
Re : Calcul samedi et dimanche

Bonjour scoobydoos, le fil,

Ton fichier est encore au format 2007.

S'il n'utilise pas de fonctions nouvelles 2007, tant en Excel qu'en Vba, tu fais un Enregistrer sous et tu choisis 97-2003.

Note que tu peux rééditer ton post de 13h01 (Modif. en bas du post), supprimer le fichier avec Retirer et déposer le nouveau à la place.

Bon dimanche.

Jean-Pierre
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
281
Réponses
8
Affichages
532
Réponses
17
Affichages
805
Réponses
3
Affichages
277
Réponses
8
Affichages
663
Retour