Je travaille sur access 2000.
Est-il possible de trouver le premier jour d'une semaine spécifique en
indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois.
Cette journée ne doit pas être un samedi.
Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilbert
Bonjour
Peut-être un début de solution avec cette fonction:
Function fPremierJourSemaine(Semaine As Integer, _ annee As Integer) As Date Dim Datetemp As Date Datetemp = DateSerial(annee, 1, 1) + (Semaine - 1) * 7 fPremierJourSemaine = Datetemp - (Weekday(Datetemp) - vbMonday) End Function
Gilbert
"BEAUCHAND" a écrit dans le message de news:
Bonjour, Bonne et heureuse année à tous!
Je travaille sur access 2000. Est-il possible de trouver le premier jour d'une semaine spécifique en indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois. Cette journée ne doit pas être un samedi. Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
Merci à l'avance!
Bonjour
Peut-être un début de solution avec cette fonction:
Function fPremierJourSemaine(Semaine As Integer, _
annee As Integer) As Date
Dim Datetemp As Date
Datetemp = DateSerial(annee, 1, 1) + (Semaine - 1) * 7
fPremierJourSemaine = Datetemp - (Weekday(Datetemp) - vbMonday)
End Function
Gilbert
"BEAUCHAND" <BEAUCHAND@discussions.microsoft.com> a écrit dans le message de
news:66BA1C68-B7E6-4947-8A42-43B021167BFF@microsoft.com...
Bonjour,
Bonne et heureuse année à tous!
Je travaille sur access 2000.
Est-il possible de trouver le premier jour d'une semaine spécifique en
indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois.
Cette journée ne doit pas être un samedi.
Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
Peut-être un début de solution avec cette fonction:
Function fPremierJourSemaine(Semaine As Integer, _ annee As Integer) As Date Dim Datetemp As Date Datetemp = DateSerial(annee, 1, 1) + (Semaine - 1) * 7 fPremierJourSemaine = Datetemp - (Weekday(Datetemp) - vbMonday) End Function
Gilbert
"BEAUCHAND" a écrit dans le message de news:
Bonjour, Bonne et heureuse année à tous!
Je travaille sur access 2000. Est-il possible de trouver le premier jour d'une semaine spécifique en indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois. Cette journée ne doit pas être un samedi. Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
Merci à l'avance!
3stone
Salut,
"BEAUCHAND" | Bonne et heureuse année à tous!
A toi aussi...
| Je travaille sur access 2000. | Est-il possible de trouver le premier jour d'une semaine spécifique en | indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois. | Cette journée ne doit pas être un samedi. | Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
| Je travaille sur access 2000.
| Est-il possible de trouver le premier jour d'une semaine spécifique en
| indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois.
| Cette journée ne doit pas être un samedi.
| Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
| Je travaille sur access 2000. | Est-il possible de trouver le premier jour d'une semaine spécifique en | indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois. | Cette journée ne doit pas être un samedi. | Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
Merci à Gilbert et à 3stone, Les 2 fonctions fonctionnent bien sauf que pour avoir la semaine du 6 mars 2006 je dois indiquer 10 comme no de semaine et moi j'aimerais pouvoir indiquer Mars comme mois et 2 comme no de semaine.
Merci à l'avance.
"BEAUCHAND" wrote:
Bonjour, Bonne et heureuse année à tous!
Je travaille sur access 2000. Est-il possible de trouver le premier jour d'une semaine spécifique en indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois. Cette journée ne doit pas être un samedi. Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
Merci à l'avance!
Bonjour,
Merci à Gilbert et à 3stone,
Les 2 fonctions fonctionnent bien sauf que pour avoir la semaine du 6 mars
2006 je dois indiquer 10 comme no de semaine et moi j'aimerais pouvoir
indiquer Mars comme mois et 2 comme no de semaine.
Merci à l'avance.
"BEAUCHAND" wrote:
Bonjour,
Bonne et heureuse année à tous!
Je travaille sur access 2000.
Est-il possible de trouver le premier jour d'une semaine spécifique en
indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois.
Cette journée ne doit pas être un samedi.
Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
Merci à Gilbert et à 3stone, Les 2 fonctions fonctionnent bien sauf que pour avoir la semaine du 6 mars 2006 je dois indiquer 10 comme no de semaine et moi j'aimerais pouvoir indiquer Mars comme mois et 2 comme no de semaine.
Merci à l'avance.
"BEAUCHAND" wrote:
Bonjour, Bonne et heureuse année à tous!
Je travaille sur access 2000. Est-il possible de trouver le premier jour d'une semaine spécifique en indiquant si c'est la 1er, 2ième, 3ième, 4ième ou 5ième semaine du mois. Cette journée ne doit pas être un samedi. Ex: Quelle est la première journée de la 3ième semaine de Juin 2005.
Merci à l'avance!
Drizzit
J'ai pas tout testé, mais je pense que cette fonction est ok :
Public Function NumeroSemaine(datMaDate As Date, _ Optional lngPremierJourSemaine As VbDayOfWeek = vbMonday) As Long
tout dépend de ce que tu entends par 1° semaine du mois : - du 1 au 6 - du 1 au 1° dimanche (ou autre jour...) Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas, utilise ceci : function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek as byte)as date getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth, 1+((numWeek-1) * 7)) end function si tu utilises le 2° cas, il faut stocker ce premier calcul dans une variable et ensuite, enlever le nombre correspondant au rand du jour actuel et ajouter celui du 1° jour de la semaine, par exemple (si calcul dans dt): dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines commençant au lundi
A+, david
salut,
tout dépend de ce que tu entends par 1° semaine du mois :
- du 1 au 6
- du 1 au 1° dimanche (ou autre jour...)
Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas,
utilise ceci :
function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek
as byte)as date
getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth,
1+((numWeek-1) * 7))
end function
si tu utilises le 2° cas, il faut stocker ce premier calcul dans une
variable et ensuite, enlever le nombre correspondant au rand du jour
actuel et ajouter celui du 1° jour de la semaine, par exemple (si
calcul dans dt):
dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines
commençant au lundi
tout dépend de ce que tu entends par 1° semaine du mois : - du 1 au 6 - du 1 au 1° dimanche (ou autre jour...) Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas, utilise ceci : function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek as byte)as date getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth, 1+((numWeek-1) * 7)) end function si tu utilises le 2° cas, il faut stocker ce premier calcul dans une variable et ensuite, enlever le nombre correspondant au rand du jour actuel et ajouter celui du 1° jour de la semaine, par exemple (si calcul dans dt): dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines commençant au lundi
A+, david
BEAUCHAND
Bonjour David, Une semaine valide peux commencer n'importe quel jour sauf le samedi. Ex: Le 1er janvier 2005 était un samedi, donc la semaine valide est celle du 2 au 8 janvier. J'espère que je suis assez claire.
Merci!
"david" wrote:
salut,
tout dépend de ce que tu entends par 1° semaine du mois : - du 1 au 6 - du 1 au 1° dimanche (ou autre jour...) Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas, utilise ceci : function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek as byte)as date getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth, 1+((numWeek-1) * 7)) end function si tu utilises le 2° cas, il faut stocker ce premier calcul dans une variable et ensuite, enlever le nombre correspondant au rand du jour actuel et ajouter celui du 1° jour de la semaine, par exemple (si calcul dans dt): dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines commençant au lundi
A+, david
Bonjour David,
Une semaine valide peux commencer n'importe quel jour sauf le samedi.
Ex: Le 1er janvier 2005 était un samedi, donc la semaine valide est celle du
2 au 8 janvier.
J'espère que je suis assez claire.
Merci!
"david" wrote:
salut,
tout dépend de ce que tu entends par 1° semaine du mois :
- du 1 au 6
- du 1 au 1° dimanche (ou autre jour...)
Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas,
utilise ceci :
function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek
as byte)as date
getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth,
1+((numWeek-1) * 7))
end function
si tu utilises le 2° cas, il faut stocker ce premier calcul dans une
variable et ensuite, enlever le nombre correspondant au rand du jour
actuel et ajouter celui du 1° jour de la semaine, par exemple (si
calcul dans dt):
dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines
commençant au lundi
Bonjour David, Une semaine valide peux commencer n'importe quel jour sauf le samedi. Ex: Le 1er janvier 2005 était un samedi, donc la semaine valide est celle du 2 au 8 janvier. J'espère que je suis assez claire.
Merci!
"david" wrote:
salut,
tout dépend de ce que tu entends par 1° semaine du mois : - du 1 au 6 - du 1 au 1° dimanche (ou autre jour...) Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas, utilise ceci : function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek as byte)as date getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth, 1+((numWeek-1) * 7)) end function si tu utilises le 2° cas, il faut stocker ce premier calcul dans une variable et ensuite, enlever le nombre correspondant au rand du jour actuel et ajouter celui du 1° jour de la semaine, par exemple (si calcul dans dt): dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines commençant au lundi
A+, david
BEAUCHAND
Bonjour, J'ai réussi à faire ce que je voulais en modifiant la fonction de David.
Voici ce que ça donne: Function getFirstDayOfMonthWeek(ByVal numMonth As Byte, ByVal numWeek As Byte, Annee As Integer) As Date With CodeContextObject
'SemaineDu est la première semaine 'Sem2 à Sem5 sont les autres semaines du mois
dtVerif = Sem1 If Weekday(dtVerif) = vbSaturday Then dt = dt + 7: .SemaineDu = dt Else .SemaineDu = Sem1 End If Else .SemaineDu = dt End If .Sem2 = dt + 7 .Sem3 = dt + 14 If Month(dt + 21) <> numMonth Then .Sem4 = "" Else .Sem4 = dt + 21 End If If Month(dt + 28) <> numMonth Then .Sem5 = "" Else .Sem5 = dt + 28 End If End With
End Function
Merci à tous!
"BEAUCHAND" wrote:
Bonjour David, Une semaine valide peux commencer n'importe quel jour sauf le samedi. Ex: Le 1er janvier 2005 était un samedi, donc la semaine valide est celle du 2 au 8 janvier. J'espère que je suis assez claire.
Merci!
"david" wrote:
salut,
tout dépend de ce que tu entends par 1° semaine du mois : - du 1 au 6 - du 1 au 1° dimanche (ou autre jour...) Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas, utilise ceci : function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek as byte)as date getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth, 1+((numWeek-1) * 7)) end function si tu utilises le 2° cas, il faut stocker ce premier calcul dans une variable et ensuite, enlever le nombre correspondant au rand du jour actuel et ajouter celui du 1° jour de la semaine, par exemple (si calcul dans dt): dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines commençant au lundi
A+, david
Bonjour,
J'ai réussi à faire ce que je voulais en modifiant la fonction de David.
Voici ce que ça donne:
Function getFirstDayOfMonthWeek(ByVal numMonth As Byte, ByVal numWeek As
Byte, Annee As Integer) As Date
With CodeContextObject
'SemaineDu est la première semaine
'Sem2 à Sem5 sont les autres semaines du mois
dtVerif = Sem1
If Weekday(dtVerif) = vbSaturday Then
dt = dt + 7: .SemaineDu = dt
Else
.SemaineDu = Sem1
End If
Else
.SemaineDu = dt
End If
.Sem2 = dt + 7
.Sem3 = dt + 14
If Month(dt + 21) <> numMonth Then
.Sem4 = ""
Else
.Sem4 = dt + 21
End If
If Month(dt + 28) <> numMonth Then
.Sem5 = ""
Else
.Sem5 = dt + 28
End If
End With
End Function
Merci à tous!
"BEAUCHAND" wrote:
Bonjour David,
Une semaine valide peux commencer n'importe quel jour sauf le samedi.
Ex: Le 1er janvier 2005 était un samedi, donc la semaine valide est celle du
2 au 8 janvier.
J'espère que je suis assez claire.
Merci!
"david" wrote:
salut,
tout dépend de ce que tu entends par 1° semaine du mois :
- du 1 au 6
- du 1 au 1° dimanche (ou autre jour...)
Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas,
utilise ceci :
function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek
as byte)as date
getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth,
1+((numWeek-1) * 7))
end function
si tu utilises le 2° cas, il faut stocker ce premier calcul dans une
variable et ensuite, enlever le nombre correspondant au rand du jour
actuel et ajouter celui du 1° jour de la semaine, par exemple (si
calcul dans dt):
dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines
commençant au lundi
'SemaineDu est la première semaine 'Sem2 à Sem5 sont les autres semaines du mois
dtVerif = Sem1 If Weekday(dtVerif) = vbSaturday Then dt = dt + 7: .SemaineDu = dt Else .SemaineDu = Sem1 End If Else .SemaineDu = dt End If .Sem2 = dt + 7 .Sem3 = dt + 14 If Month(dt + 21) <> numMonth Then .Sem4 = "" Else .Sem4 = dt + 21 End If If Month(dt + 28) <> numMonth Then .Sem5 = "" Else .Sem5 = dt + 28 End If End With
End Function
Merci à tous!
"BEAUCHAND" wrote:
Bonjour David, Une semaine valide peux commencer n'importe quel jour sauf le samedi. Ex: Le 1er janvier 2005 était un samedi, donc la semaine valide est celle du 2 au 8 janvier. J'espère que je suis assez claire.
Merci!
"david" wrote:
salut,
tout dépend de ce que tu entends par 1° semaine du mois : - du 1 au 6 - du 1 au 1° dimanche (ou autre jour...) Cela change beaucoup le fonctionnement, si tu optes pour le 1° cas, utilise ceci : function getFirstDayOfMonthWeek(byval numMonth as byte, byval numWeek as byte)as date getFirstDayOfMonthWeek = dateSerial (year(date()), numMonth, 1+((numWeek-1) * 7)) end function si tu utilises le 2° cas, il faut stocker ce premier calcul dans une variable et ensuite, enlever le nombre correspondant au rand du jour actuel et ajouter celui du 1° jour de la semaine, par exemple (si calcul dans dt): dt = dt - weekDay(dt) + vbMonday 'en définissant les semaines commençant au lundi