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

Vos contributions VB6 Discussion :

[Source] Fetes mobiles


Sujet :

Vos contributions VB6

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut [Source] Fetes mobiles
    J'ai récupéré le code ci-dessous il y a bien longtemps. Il etait ecrit dans un autre language et j'en ai fait une transposition en VB.
    Je prècise bien que je n'en suis pas l'auteur, mais comme ce code m'a été trés utile dans une application qui ne lancait des traitements que pour des jours ouvrables. je me suis permis de vous en faire profiter.
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    Option Explicit
     
    Private Sub Form_Load()
      Text1.Text = Year(Date)
    End Sub
     
    Private Sub Command1_Click()
      Dim An As Integer
      Dim Paques As Date
      Dim LunPaq As Date
      Dim Ascension As Date
      Dim LunPent As Date
      '
      An = Val(Text1)
      '
      Paques = fPaques(An)   'Cherche le jour de Pâques
      LunPaq = DateAdd("d", 1, Paques)    'En déduit
      Ascension = DateAdd("d", 39, Paques) 'les autres
      LunPent = DateAdd("d", 50, Paques) 'jours fériés
     
      MsgBox "En " & CStr(An) & vbCrLf & _
             "Paques = " & Format(Paques, "dd/mm") & vbCrLf & _
             "Lundi de Paques = " & Format(LunPaq, "dd/mm") & vbCrLf & _
             "Ascension = " & Format(Ascension, "dd/mm") & vbCrLf & _
             "Lundi de pentecote = " & Format(LunPent, "dd/mm") & vbCrLf
     
    End Sub
     
    Public Function fPaques(An As Integer) As Date
     
    'Calcule le jour de Pâques en fonction
    'de l'année
     
      Dim a As Integer
      Dim b As Integer
      Dim c As Integer
      Dim d As Integer
      Dim e As Integer
      Dim f As Integer
      Dim g As Integer
      Dim h As Integer
      Dim i As Integer
      Dim j As Integer
      Dim k As Integer
      Dim l As Integer
      Dim m As Integer
      Dim n As Integer
      Dim p As Integer
     
      a = An Mod 19
      b = An \ 100
      c = An Mod 100
      d = b \ 4
      e = b Mod 4
      f = (b + 8) \ 25
      g = (b - f + 1) \ 3
      h = (19 * a + b - d - g + 15) Mod 30
      i = c \ 4
      k = c Mod 4
      l = (32 + 2 * e + 2 * i - h - k) Mod 7
      m = (a + 11 * h + 22 * l) \ 451
      n = (h + l - 7 * m + 114) \ 31
      p = (h + l - 7 * m + 114) Mod 31
      fPaques = DateSerial(An, n, p + 1)
     
    End Function
    J'espere que cela pouras aider quelqu'un
    Désolé de ne pouvoir préciser l'auteur ni la language originel. Ma petite mémoire a parfois de bien facheux trous

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    J'ai développé une classe complète à partir de genre de calcul des jours fériés (trouvé sur Developpez.com).

    Elle comprend la possibilité de générer des collections :
    - jours fériés à partir d'une année donnée
    - jours chômés d'une semaine (samedi, dimanche)
    Ces collections peuvent être renseignées par le biais d'une bd plutôt que par les valeurs par défaut proposées (si jamais les jours chômés sont dimanche et lundi par exemple)

    Des méthodes permettent de :
    - savoir si un jour est ouvrable (non férié ET/OU non chômé)
    - de trouver le prochain jour ouvrable à J + x (où x est un entier)

    Cette classe a été développée dans le cadre d'une application devant gérer un planning de tâches (d'où l'importance de savoir si un jour futur est ouvrable)

    Comme elle vient en complément de ce que propose Delbeke, je peux la rendre publique si cela intéresse quelqu'un...

  3. #3
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Le code montré par DelBeke, Phifi, ne traite pas les jours fériés (non ouvrés), mais de la détermination des dates des fêtes mobiles.
    Les jours fériés étant quant à eux décidés, chaque année, par Décret, il parait en effet impossible de ne pas utiliser des données préenregistrées, ce qui n'est pas le cas de la célébration des fêtes).

  4. #4
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Je pense qu'il serait en effet interressant de publier ta classe ,phifi. ça pourait servir

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Le code montré par DelBeke, Phifi, ne traite pas les jours fériés (non ouvrés), mais de la détermination des dates des fêtes mobiles.
    Oui, j'ai bien vu. Elles sont complétées dans ma classe par les dates de fêtes fixes (Noël, 1er de l'an etc.), ce qui n'est pas très compliqué j'en conviens.

    Les jours fériés étant quant à eux décidés, chaque année, par Décret, il parait en effet impossible de ne pas utiliser des données préenregistrées
    De quels jours en particulier parles-tu ?

    Je donne la possibilité, à l'initialisation des jours fériés, de prendre en compte ou non le lundi de Pentecôte puisque c'est le seul jour controversé ces temps-ci =). Pour les autres (1er Mai, 08 mai, 14 juillet, 15 août, 01 novembre, 11 novembre...), on ne risque pas trop le changement.

    Quoi qu'il en soit, je vais me pencher sur la documentation de mon code avant de le publier.

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    De quels jours en particulier parles-tu ?
    Bonjour Phifi,

    Chaque année sont arrêtés 11 jours décidés comme devant être non ouvrés.

    Ils ne sont pas forcément les mêmes entre une année et l'autre. Il peut par exemple être décidé de ne pas ouvrer la Pentecote et d'ouvrer l'ascension en l'an 2007 et de faire l'inverse en l'an 2009...

    Certains jours sont incontournables, d'autres flexibles, et il ne faut pas dépasser un total de 11 jours, arrêtés chaque année par Décret.

    Il est donc nécessaire d'utiliser une base de données alimentable, chaque année, dès la publication du décret en cause.

    Oserais-je ajouter une particularité ?

    L'Etat Français est par exemple représenté à l'étranger par ses missions diplomatiques et consulaires. La fête nationale du pays d'accueil ne tombant pas le même jour que la notre et devant malgré tout être célébrée localement, la liste des 11 jours devra être modifiée par un arrêté (ajout de la fête nationale du pays d'accueil et suppression de l'un des autres jours du décret originel, pour retomber sur un total de 11 jours fériés)...

Discussions similaires

  1. Code source Windev mobile 18
    Par e-shaman dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 15/01/2013, 07h38
  2. Open Source pour créer le site Web mobile
    Par azolwik dans le forum Mobiles
    Réponses: 7
    Dernier message: 24/11/2012, 14h17
  3. [MeeGo] L'OS mobile open-source MeeGo ouvre son code source aux développeurs
    Par Gordon Fowler dans le forum Applications mobiles
    Réponses: 24
    Dernier message: 19/04/2011, 19h40
  4. Réponses: 0
    Dernier message: 02/06/2010, 14h58

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