IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Changement d'heure été /hiver [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut Changement d'heure été /hiver
    Bonjour à tous,
    Je viens de fouiller dans la FAQ et les tuto, et je n'ai rien trouvé, j'expose donc mon problème ici.

    Voilà, je viens de mettre en place un ensemble de code qui dépend des dates(heures) mon but est pouvoir anticiper sur le changement d'heure hiver/été, je veux donc que mon programme

    - Détermine la date du prochain changement d'heure (été--->hiver ou hiver--->été)

    - Une fois cela fait qu'il prenne en compte ce changement d'heure .



    Merci d'avance pour votre aide.



    Kedmard.

  2. #2
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Ton heure Hiver <---> Eté n'est-elle pas directement déterminée par ton système d'exploitation . . . donc ton application devrait en tenir compte

    Maintenant, grâce à l'ami Google, tu trouve les paramètres de changement d'heure:
    Le changement d'heure s'effectue toujours dans la nuit du samedi au dimanche, le dernier samedi d'octobre et le dernier samedi de mars. Voici tous les jours où il faudra avancer ou retarder sa montre.

    Pour l'heure d'hiver : à 3 h du matin, il sera 2 heures. Il faut retarder sa montre.
    Pour l'heure d'été : à 2 h du matin, il sera 3 heures. Il faut avancer sa montre.
    .... à voir l'utilité d'un tel système
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Bonjour FreeAccess,

    Merci pour ta reponse.

    Mon système gère effectivement ce passage mais mon souci se trouve sur le fait que je manipule les données de 2 localités dont les fuseaux horaires diffèrent et les décalages horaires entres elles dépendent du passage été/hiver il me faut donc imposer le décalage horaire en fonction du changement été/hiver.

    La difficulté majeure est d'écrire en dure un code qui trouve la date exacte du changement d'heure et qui affecte ensuite l'écart d'heures entre mes 2 localités.

    Quelqu'un n'aurait-il pas déjà fait ce genre de manip: (trouver le dernier dimanche d'octobre et changer l'écart ce jour là à partir de 2h du matin si on passe de l'été à l'hiver et trouver le dernier dimanche de mars puis faire la même chose si on passe de 'hiver à été)

    Merci.


    Kedmard

  4. #4
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    Une piste
    http://forums.futura-sciences.com/ma...ure-hiver.html

    Ensuite tu peux faire une table "ville" dans laquelle tu indiques les éventuels décalages d'heure (pour les DOM-TOM par exemple)

    titi95
    Un problème bien posé est à moitié résolu

  5. #5
    Membre régulier
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juin 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2012
    Messages : 53
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par kedmard Voir le message
    Quelqu'un n'aurait-il pas déjà fait ce genre de manip: (trouver le dernier dimanche d'octobre et changer l'écart ce jour là à partir de 2h du matin si on passe de l'été à l'hiver et trouver le dernier dimanche de mars puis faire la même chose si on passe de 'hiver à été)
    Il y a une fonction qui te permet de récupérer le jour (Lundi, Mardi, etc.) en fonction de la date (PartDate je crois...).

    Mars et Octobre ont tous les 2 31 jours donc tu fais un test sur ta date "Est-ce qu'elle appartient à l'intervalle 25/MM/AAAA et 31/MM/AAAA" ensuite tu test "Est-ce que c'est un Dimanche" puis en fonction de l'heure tu rajoutes ou pas.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Bonjour et merci à tous pour vos réponses,

    Je m'en suis servi pour taper le code suivant qui marche parfaitement.

    Date de passage en heure d'été:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function Dtchghivete(t0 As Date) As Date
    Dim debutete As Date
    Dim refdate As Variant
    Dim jour As Integer
    refdate = "25/03/" & Year(t0) & " 02:00:00"
    'on se place au le 25 mars de l'année de t0
    debutete = CDate(refdate)
    jour = Weekday(debutete, vbMonday)
    'Le passage à l'heure d'été intervient à l'instant:
    refdate = (32 - jour) & "/03/" & Year(t0) & " 02:00:00"
    Dtchghivete = CDate(refdate)
    End Function




    Date de passage en heure d'hiver:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function Dtchgetehiv(t0 As Date) As Date
    Dim jour As Integer
    Dim refdate As Variant
    Dim debuthiver As Date
    'on se place au 25 Octobre
    refdate = "25/10/" & Year(t0) & " 03:00:00"
    debuthiver = CDate(refdate)
    jour = Weekday(debuthiver, vbMonday)
    'Le passage à l'heure d'hiver intervient à l'instant:
    refdate = (32 - jour) & "/10/" & Year(t0) & " 03:00:00"
    Dtchgetehiv = CDate(refdate)
    End Function

    Cordialement,


    Kalmard.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD18] Changement d'heure hiver
    Par cid5420 dans le forum WinDev
    Réponses: 17
    Dernier message: 11/06/2014, 16h55
  2. Réponses: 2
    Dernier message: 26/10/2008, 07h34
  3. Passage à l'heure d'hiver
    Par cchatelain dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 05/11/2005, 20h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo