eriz64
Messages postés6Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention27 avril 2009
-
3 avril 2009 à 16:30
eriz64
Messages postés6Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention27 avril 2009
-
3 avril 2009 à 17:13
Bonjour j'aurai besoin d'une fonction qui me dise si une semaine est à cheval sur un mois .
C'est à dire qu'en fonction d'un numéro de semaine elle renvoie true si la semaine est a cheval sur 2 mois et false sinon.
Par exemple la semaine 14 est a cheval sur le mois de mars & sur celui d'avril.
J'ai un mal fous a gérer les dates dans VB.
Je me suis insipiré d'un fonction qui renvoie le numéro de la semaine en fonction d'une date pour réaliser ce quil me faut mais je ne m'en sort pas.
eriz64
Messages postés6Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention27 avril 2009 3 avril 2009 à 17:13
J'ai fait mon business bien plus compliquer que le tiens mais ça marche aussi donc c'est cool
Public Function NumMois(Dates As Date) As Integer
Dim MyDate As String
MyDate = Format(Dates, "dd/mm/yyyy")
Dim TabSplit As Variant
TabSplit = Split(MyDate, "/")
NumMois = TabSplit(1)
End Function
Function LundiSem(SEMAINE As Integer, ANNEE As Integer) As Date If ANNEE 0 Then ANNEE Year(Date)
LundiSem = 7 * SEMAINE + DateSerial(ANNEE, 1, 3) - _
Weekday(DateSerial(ANNEE, 1, 3)) - 5
End Function
Function DimancheSem(SEMAINE As Integer, ANNEE As Integer) As Date
Dim Val As Date
Val = LundiSem(SEMAINE, ANNEE)
DimancheSem = DateAdd("d", 6, Val)
End Function
Function SemMois(SEMAINE As Integer, ANNEE As Integer) As Boolean
Dim Lundi As Date
Dim Dimanche As Date
Lundi = LundiSem(SEMAINE, ANNEE)
Dimanche = DimancheSem(SEMAINE, ANNEE)
If (NumMois(Lundi) <> NumMois(Dimanche)) Then
SemMois = True
Else
SemMois = False
End If
End Function