Calcul nombre de programmes par semaine

Bonjour,

Je souhaiterais utiliser une macro pour calculer le nombre de programmes A et B que j'ai par semaine.

Par exemple, pour la semaine 46 dans l'onglet "Compte", il faudrait que la macro me sorte 2 car j'ai un programme A qui arrive en semaine 46 et qui sort en semaine 52 et un programme A qui est arrivé en semaine 44 et qui sort en semaine 2.

De même pour le programme B, il faudrait que la formule me sorte 1 pour les semaines 1, 2 et 3 et 0 pour les autres.

Il faudrait que cette macro puisse gérer les programmes qui sont à cheval sur l'année N et N+1 (type programme B qui commence en semaine 52 et qui se termine semaine 3).

Vous remerciant par avance pour votre aide.

Bonjour

J'ai donné une solution là https://forum.excel-pratique.com/excel/formule-nb-si-ens-178224

Cela fonctionne avec PowerQuery mais tu voulais une formule

Maintenant tu ouvres un nouveau fil car tu veux du VBA...

Bonjour,

Je te remercie pour ta réponse. Malheureusement j'ai n'ai jamais travaillé avec PowerQuery et je n'ai pas trouvé de solution à ma question avec une formule.

C'est pourquoi je demande de l'aide en VBA.

RE

Je te remercie pour ta réponse. Malheureusement j'ai n'ai jamais travaillé avec PowerQuery et je n'ai pas trouvé de solution à ma question avec une formule.

C'est pourquoi je demande de l'aide en VBA.

Manifestement tu n'es pas plus à l'aise avec les formules que VBA ou que PowerQuery mais tu rejettes d'emblée la solution...

Bonne continuation

bonjour

avec des formules

=SOMMEPROD(($A$2:$A$15=H$1)*($D$2:$D$15=0)*($B$2:$B$15<=$G3)*($G3<=$C$2:$C$15))
+SOMMEPROD(($A$2:$A$15=H$1)*($D$2:$D$15=1)*($B$2:$B$15>0)*(0<>(($B$2:$B$15<=$G3)+($G3<=$C$2:$C$15))))

avec USF

Function Cmadel(plage, programme, semaine) As Integer
     Dim aA
     aA = plage.Value
     For i = 1 To UBound(aA)
          If aA(i, 1) = programme Then
               If aA(i, 2) <= aA(i, 3) Then
                    Cmadel = Cmadel + ((aA(i, 2) <= semaine) * (semaine <= aA(i, 3))) 'attention vrai = -1, donc -1 * -1 = +1

               Else
                    Cmadel = Cmadel - (semaine >= aA(i, 2)) - (semaine <= aA(i, 3)) 'attention vrai=-1
               End If
          End If
     Next
End Function
Rechercher des sujets similaires à "calcul nombre programmes semaine"