Bonjour,
je sais qu'il y a beaucoup de tuto qui circulent sur le site ou sur le net, mais je ne m'en sort pas a cause des histoires d'inversion et autre
soit ma fonction de formatage de date
voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public Function DtUs(ByVal dDate) DtUs = format(CDate(dDate), "mm/dd/yyyy") End Function
évidement quand je calcule
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Public Function DelaiStkRBLMois(ByVal dDebPer As Date, ByVal dFinPer As Date, ByVal dSTK_TGC As Date, ByVal dDtIn As Date, ByVal dDtOut As Date, Optional ByVal sProprio As String) As Long 'D'abord on elimine les vehicules sortie TGC rentré une deuxieme fois Dim dDeb, dFin As Date If sProprio = "BCD000377" Or sProprio = "BCD060377" Or sProprio = "BCD000679" Or sProprio = "BCD060679" Or sProprio = "BCD000517" Or sProprio = "BCD000589" Or sProprio = "BCD060589" Or sProprio = "BCD000585" Or sProprio = "BCD000590" Or sProprio = "BCD060585" Or sProprio = "BCD060590" Then DelaiStkRBLMois = 0 Else 'Borne Inférieur If DtUs(dDtIn) > DtUs(dDebPer) Then dDeb = DtUs(dDtIn) Else dDeb = DtUs(dDebPer) End If Debug.Print dDeb 'Borne Supérierur If DtUs(dDtOut) < DtUs(dFinPer) Then If DtUs(dSTK_TGC) < DtUs(dDtOut) And DtUs(dSTK_TGC) > DtUs(dDeb) Then dFin = DtUs(dSTK_TGC) Else dFin = DtUs(dDtOut) End If Else If DtUs(dSTK_TGC) < DtUs(dFinPer) Then dFin = DtUs(dSTK_TGC) Else dFin = DtUs(dFinPer) End If End If Debug.Print dFin 'Calcul 'If DateDiff("d", dDeb, dFin) < 0 Then ' DelaiStkRBLMois = 0 'Else DelaiStkRBLMois = DateDiff("d", DtUs(dDeb), DtUs(dFin)) If DelaiStkRBLMois < 0 Then DelaiStkRBLMois = 0 End If 'End If End If End Functionil donne 575 jours car il considère que le 30/11/2016 est supérieur au 01/06/2018 et donc le substitut a la date de début de période
Code : Sélectionner tout - Visualiser dans une fenêtre à part ?DelaiStkRBLMois(#01/06/2018#, #30/06/2018#, #16/10/2017#, #30/11/2016#, #28/06/2018#,"651000517")
franchement la je coince je n'ai aucune idée pourquoi il considère le 30/11/2016 comme supérieur au 01/06/2018 même en considérant qu'il fasse l'inversion!
voyez vous une piste? au bord du craquage votre aide sera particulièrement apprecié
Partager