Bonjour,
J'aimerais programmer cet algorithme en VBA Excel mais je cale completement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public Function retourne_temps_a_soustraire(ByVal Date_ancienne, ByVal Date_nouvelle) as Integer Si entre Date_ancienne et Date_nouvelle, il y a eu un Samedi entre 11h00 et 23h00 alors retourne_temps_a_soustraire = 1 Si entre Date_ancienne et Date_nouvelle, il y a eu un Dimanche entre 11h00 et 23h00 alors retourne_temps_a_soustraire = 1 Si entre Date_ancienne et Date_nouvelle, il y a eu un Samedi entre 11h00 et 23h00 et un Dimanche entre 11h00 et 23h00 alors retourne 12h00, alors retourne 2 Si entre Date_ancienne et Date_nouvelle, il y a eu deux Samedi entre 11h00 et 23h00 et un Dimanche entre 11h00 et 23h00 alors retourne_temps_a_soustraire = 3 Si entre Date_ancienne et Date_nouvelle, il y a eu deux Samedi entre 11h00 et 23h00 et deux Dimanche entre 11h00 et 23h00 alors retourne_temps_a_soustraire = 4 Sinon retourne_temps_a_soustraire = 0 End Function
Exemple 1 :
Date_ancienne(code par un now()) = 39969.5833333333 (Vendredi 5/06 14h00)
Date_nouvelle(code par un now()) = 39973.4166666667 (Mardi 9/06 10h00)
Je veux obtenir : retourne_temps_a_soustraire = 2 (car il y a eu le samedi 6/06 entre 11h00 et 23h00 ET le dimanche 7/06 entre 11h00 et 23h00)
Exemple 2 :
Date_ancienne(code par un now()) = 39969.5833333333 (Vendredi 5/06 14h00)
Date_nouvelle(code par un now()) = 39971.375 (Dimanche 7/06 9h00)
Je veux obtenir : retourne_temps_a_soustraire = 1 (car il y a eu le samedi 6/06 entre 11h00 et 23h00)
Exemple 3 :
Date_ancienne(code par un now()) = 39969.5833333333 (Vendredi 5/06 14h00)
Date_nouvelle(code par un now()) = 39978.375 (Dimanche 14/06 9h00)
Je veux obtenir : retourne_temps_a_soustraire = 3 (car il y a eu le samedi 6/06 entre 11h00 et 23h00 ET le dimanche 7/06 entre 11h00 et 23h00) et le samedi 13/06 entre 11h00 et 23h00)
Merci pour votre aide
Partager