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 :

Comment savoir si une année est bisextile [FAQ]


Sujet :

Vos contributions VB6

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut Comment savoir si une année est bisextile
    Bonjour,

    Voici le code d'une fonction que j'ai développé suite à ce sujet.

    Ce code pourrait entrer dans la FAQ ou les sources pour comme l'indique le titre :

    Q: Comment savoir si une année est bisextile ?

    R: Grâce au code suivant, il est possible de déterminer si une année est bisextile à partir d'une date :

    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
    Function IsBisextil(maDate As Date) As Boolean
    'Fonction de contrôle de la bisextilité d'une année à partir d'une date
     
    'Les conditions pour avoir une année bisextile sont les suivantes:
    ' - année divisible par 4 : année bisextile
    ' - exception : année divisible par 100 : année non bisextile
    ' - exception de l'exception : année divisible par 400 : année bisextile
     
        If Year(maDate) Mod 4 = 0 And (Year(maDate) Mod 100 <> 0 Or Year(maDate) Mod 400 = 0) Then
            IsBisextil = True
        Else
            IsBisextil = False
        End If
     
    End Function
    Bonne journée

    Théo

  2. #2
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    Intéressant, ça peut être utile, je mets ça au chaud dans un coin.

  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
    Intéressant, en effet...
    intéressant également d'y aller ainsi, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Command3_Click()
       annee = "2104"
       quoi = "non"
       If IsDate("29/02/" & annee) Then quoi = "oui"
       MsgBox quoi
    End Sub
    et de laisser VB voir si oui ou non ...

  4. #4
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    super astucieu JMF (comme d'habitude).

  5. #5
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Citation Envoyé par jmfmarques
    Intéressant, en effet...
    intéressant également d'y aller ainsi, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Command3_Click()
       annee = "2104"
       quoi = "non"
       If IsDate("29/02/" & annee) Then quoi = "oui"
       MsgBox quoi
    End Sub
    et de laisser VB voir si oui ou non ...
    il est vrai qu'il est simple de faire comme cela mais je dirais que mon code a plus une portée générale sur la détermination d'une année bisextile.

    J'aurais pu faire tout un laïus sur le pourquoi du comment mais je ne m'appelle pas wikipédia ...

    Ce code permet de faire passer un petit peu de culture générale dans ce monde de ... programmation.

  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
    Tu as raison, Théo : un peu de culture générale n'est jamais inutile.
    Ce thème et les explications "à la mode Wilkipédia" ont été abordés sur ce forum à l'occasion d'un sujet tournant, si ma mémoire ne me fait pas défaut, autour de l'âge, au jour près.

  7. #7
    Membre éclairé Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Par défaut
    jmfmarques, j'ai testé ton code et... il ne marche pas :S

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox IIf(IsDate("29/02/5"), "Oui", "Non")
    Il me sort "Oui"

  8. #8
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Citation Envoyé par jmfmarques
    Intéressant, en effet...
    intéressant également d'y aller ainsi, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Command3_Click()
       annee = "2104"
       quoi = "non"
       If IsDate("29/02/" & annee) Then quoi = "oui"
       MsgBox quoi
    End Sub
    et de laisser VB voir si oui ou non ...
    annee = "05"
    quoi = "non"
    If IsDate("29/02/" & annee) Then quoi = "oui"
    MsgBox quoi
    ça me sors oui

  9. #9
    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
    Bonjour Tofalu... bonjour ...
    A ma connaissance : le format de "05" (ce que tu écris... et celui de "2004" que j'ai écrit.... sont deux choses bien différentes !

    Fais donc ton essai avec "2005", s'il te plait..., pour correspondre avec ce que j'ai écrit ...et être en paix avec toi-même

    dois-je te rappeler certaines choses, à propos des millésimes sur 2 chiffres ?
    Est-il nécessaire de parler à nouveau du bug de l'an 2000 et de dire quelle en était la raison principale ? (peut-être les millesimmes sur 2 chiffres dans certaines bases de données et dans certains programmes... non ?)

    Quand au code repris par Thunder... il n'est pas de moi (et j'ai chez moi, sur mon PC, le code et le message...). Je ne peux toutefois que laisser le soin à l'auteur de ce code de dire pourquoi il l'a effacé sans un mot et sans se préoccuper de ce que d'autres, comme thunderstroke, auraient pu s'en inspirer, le prenant pour de l'argent comptant

  10. #10
    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
    Maintenant, Tofalu :
    comme j'aime la précision et que je veux saluer ton intérêt pour VB,
    essaye de voir ce que te renvoie ton "29/02/05"n sous VB, sur une machine où le millésime est fixé à 4 chiffres ... tu auras quelques surprises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Command1_Click()
       annee = "05"
       MsgBox DateValue("29/02/" & annee)
       MsgBox DateValue("29/02/05")
    End Sub
    Information amicale aux nouveaux intérêts manifestés pour VB.

Discussions similaires

  1. Comment savoir si une année est bissextile
    Par Theocourant dans le forum Contribuez
    Réponses: 3
    Dernier message: 19/09/2006, 08h10
  2. Comment savoir si une connexion est deja ouverte?
    Par ghor_bey dans le forum Web & réseau
    Réponses: 3
    Dernier message: 29/07/2005, 15h17
  3. Réponses: 6
    Dernier message: 01/07/2005, 15h06
  4. Comment savoir si une variable est initialisée ?
    Par nabix dans le forum Général Python
    Réponses: 8
    Dernier message: 10/03/2005, 15h12
  5. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42

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