XL 2019 Recherche week-ends non travaillés

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 !

vincentbzh

XLDnaute Occasionnel
Bonjour,
j'essaie de créer une formule afin de me remonter les samedis et dimanches non travaillés suivant des dates et des termes bien précis.
Je vous joint un fichier avec la formule que j'essai de créer mais malheureusement qui ne fonctionne pas ........

Si quelqu'un pouvait m'aider, me dire pourquoi ça ne fonctionne pas et me trouver une solution .....

Merci d'avance
Vincent
 

Pièces jointes

Bonjour,

En attendant mieux. Avec en B2:AC2 :
JOURSEM(DECALER(B$1;0;-MOD(COLONNE()+2;4);1;1);2)
et la formule en AE4 à tirer vers le bas :
=SOMMEPROD(N(ESTNUM(EQUIV(B4:AC4;{"Repos";"CP";"Récup.";"Conv.";"Repos.";"Dem";"Sup"};0)))*(B$2:AC$2=6))


Cordialement
 

Pièces jointes

Bonsoir vincentbzh, Roblochon,

Voyez le fichier .xlsm joint et cette fonction VBA :
VB:
Function SommeJour(plage As Range, dates As Range, jour$)
Dim critere, i%, j%
critere = Array("CP", "Récup", "Repos", "Conv", "Dem", "Repos", "Sup")
For i = 1 To plage.Count
    If IsNumeric(Application.Match(plage(i), critere, 0)) Then
        For j = i To 1 Step -1
            If dates(j) <> "" Then
                If Format(dates(j), "dddd") = LCase(jour) Then SommeJour = SommeJour + 1
                Exit For
            End If
        Next j
    End If
Next i
End Function
Formule en AE4 à tirer à droite et vers le bas =SommeJour($B4:$AC4;$B$1:$AC$1;AE$1)

Nota : les points semant le bazar je les ai tous supprimés.

A+
 

Pièces jointes

Bonsoir vincentbzh, Roblochon,

Voyez le fichier .xlsm joint et cette fonction VBA :
VB:
Function SommeJour(plage As Range, dates As Range, jour$)
Dim critere, i%, j%
critere = Array("CP", "Récup", "Repos", "Conv", "Dem", "Repos", "Sup")
For i = 1 To plage.Count
    If IsNumeric(Application.Match(plage(i), critere, 0)) Then
        For j = i To 1 Step -1
            If dates(j) <> "" Then
                If Format(dates(j), "dddd") = LCase(jour) Then SommeJour = SommeJour + 1
                Exit For
            End If
        Next j
    End If
Next i
End Function
Formule en AE4 à tirer à droite et vers le bas =SommeJour($B4:$AC4;$B$1:$AC$1;AE$1)

Nota : les points semant le bazar je les ai tous supprimés.

A+
Bonjour,
merci pour ta réponse mais j'ai besoin des points pour d'autres recherches.
Je vais voir.
Bonne soirée
Vincent
 
- 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
3
Affichages
275
Réponses
12
Affichages
1 K
Retour