Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/01/2012, 11h46   #1
Invité de passage
 
Homme
MONTPELLIER
Inscription : janvier 2012
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : MONTPELLIER
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 10
Points : 1
Points : 1
Par défaut Comment automatisé les jours en fonction du N° de la semaine ?

Bonjour à tous !
Je cherche à m'améliorer sur Access et pour cela je me suis lancé sur la création d'une base de données pour gérer le personnel d'un service.
J'ai déjà un souci car je n'arrive pas à automatiser les jours en fonction du N° de la semaine.
J'aimerai qu'en choisissant le N° de la semaine, le lundi et le dimanche s'affiche automatiquement.
Tout cela se passe sur un formulaire qui est lié à une requête.
Merci d'avance pour votre aide.
Cordialement.
Loudjé est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 16h10   #2
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 224
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 224
Points : 2 023
Points : 2 023
Bonjour,

Citation:
J'ai déjà un souci car je n'arrive pas à automatiser les jours en fonction du N° de la semaine.
J'aimerai qu'en choisissant le N° de la semaine, le lundi et le dimanche s'affiche automatiquement.
Pour calculer la date d'un jour correspondant à un n° de semaine il faut nécessairement connaître l'année concernée. Voilà une procédure que je viens d'écrire et qui calcule la date du lundi de la semaine de l'année concernée. En ajoutant 6 à la date du lundi on obtient la date du dimanche suivant, si on retire 1 on obtiendra la date du dimanche prédént le lundi.

Code :
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
Public Sub Date_f_n°Sem_Annee()
Dim Annee As Integer, Semaine As Integer
'Trouver le 1er lundi de l'année en fonction du n° de sem et de l'année concernée
'Le dimanche est considéré comme le 1er jour de la semaine.
Annee = 2011
Semaine = 5
Date_1 = "01/01/" & Annee

'Jour du 1er janvier
J1 = Weekday(Date_1)
'Si J1 est avant ou egal à 2 (lundi)
If J1 <= 2 Then
    'Date du 1er lundi de l'année
    DLundi_1 = CVDate(Date_1) + 2 - J1
    'Date du dernier lundi de l'année précédente
    DLundi_precedent = DLundi_1 - 7
Else
'Si J1 est après le lundi
    'Date du 1er lundi de l'année
    DLundi_1 = CVDate(Date_1) + 2 - J1 + 7
    'Date du dernier lundi de l'année précédente
    DLundi_precedent = DLundi_1 - 7
End If
'Date du lundi de la semaine concernée
DLundi_Semaine = DLundi_precedent + 7 * Semaine
'Date du Dimanche précédent c'est à dire la veille
DDimanche_Semaine = DLundi_Semaine - 1
'Date du dimanche suivant
DDimanche_Semaine = DLundi_Semaine + 6

End Sub
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 09h16   #3
Invité de passage
 
Homme
MONTPELLIER
Inscription : janvier 2012
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : MONTPELLIER
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 10
Points : 1
Points : 1
Par défaut Bonjour et Merci !

Bonjour,
Je vous remercie beaucoup pour votre réponse, mais je ne suis pas certain de savoir où il faut que je colle votre code !
J'ai essayer de le placer dons mon formulaire "Pointage" et dans ma zone liste déroulante "N° de semaine" sous l'événement "Après MAJ, mais je ne suis pas certain que ça fonctionne.
Désolé de vous déranger à nouveau.
Cordialement.
Loudjé est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 11h05   #4
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 224
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 224
Points : 2 023
Points : 2 023
Bonjour,
Je joins un exemple simplifié avec un formulaire où le calcul se produit sur l'évènement 'Réception focus' du contrôle Date_Lundi du formulaire, après que Annee et Semaine aient été renseignés.
Le calcul est basé sur le fait que le dimanche est considéré comme jour 1 de la semaine donc le lundi est le jour 2. Si on veut adapter pour que le lundi soit le jour 1 il faut modifié un peut la procédure. Vous n'aviez spécifié aucune contrainte à ce sujet.
De plus il faut se rendre compte que 2012 est un peu spécial au sujet des n° de semaine. Si on prend le lundi comme 1er jour de la semaine le dimanche 1er janvier est le 7ème jour de la semaine 52 de 2011. Le lundi 2 janvier étant le 1er jour de la semaine 1 de 2012. C'est le fait de la règle adoptée par l'Europe pour le calcul de la 1ère semaine, c'est celle qui contient le premier jeudi de janvier qui porte le n° 1.
Si besoin d'aide supplémentaire demandez.
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 14h19   #5
Invité de passage
 
Homme
MONTPELLIER
Inscription : janvier 2012
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : MONTPELLIER
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 10
Points : 1
Points : 1
Par défaut Voici mon exemple !

Merci encore pour votre aide !
Vous trouverez ci-joint un exemple de ma base simplifié.
Le but est qu'en choisissant le numéro de la semaine avec la zone déroulante, le Lundi 1er jour et le Dimanche dernier jour de la semaine s'affichent automatiquement.
Cordialement.
Fichiers attachés
Type de fichier : zip Base.zip (38,4 Ko, 10 affichages)
Loudjé est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 10h01   #6
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 224
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 224
Points : 2 023
Points : 2 023
Bonjour,
J'ai fait en vitesse un proposition car je dois partir pour la journée.
Regardez et essayez. Ce n'est peut-être pas ce que vous voulez mais en adaptant peut-être pourrez-vous y arriver.
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 12h04   #7
Invité de passage
 
Homme
MONTPELLIER
Inscription : janvier 2012
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : MONTPELLIER
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 10
Points : 1
Points : 1
Par défaut Merci !!

Bonjour Monsieur,
Je vais pouvoir y arriver avec ce que vous m'avez fait suivre.
Merci beaucoup.
Cordialement.
Loudjé est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h01.


 
 
 
 
Partenaires

Hébergement Web