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

WinDev Discussion :

Nombre de semaines entre deux dates


Sujet :

WinDev

  1. #1
    Membre confirmé
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Par défaut Nombre de semaines entre deux dates
    Mes cher(e)s Sauveteurs

    J'ai beau essayé de chercher une solution sur le net mais hélas sans résultat,
    je cherche une formule pour trouver le nombre de semaines entre 2 dates :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nbJours est un int
    nbJours = DateDifférence(SAI_DDR, DateDuJour())
    // Affiche le résultat
    Info(nbJours + " jours écoulés")
    mais quand je fais nbJours/7 j'ai un résultat parfois xx,y

    Donc je conclu que c'est par exemple 28,1 C'est 28 SEMAINES ET 1 JOURS
    28,6 C'est 28 SEMAINES ET 6 JOURS
    28,7 C'est 28 SEMAINES ET 7 JOURS et c'est la ou il y'a un problème, normalement je doit avoir 29 semaines
    (car j'essaye de chercher le nombre de semaines en aménorrhée chez une femme enceinte)
    SVP de l'aide.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 933
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Il faut repasser aux bases de la numérotation décimale.
    28,6 unités, c'est 28 unités + 6 dixièmes d'unité quelle que soit l'unité.
    Dans notre cas on a 28 semaines + 6 dixièmes de semaines soient 4,2 jours (0,6*7=4,2)
    Il faut passer par la fonction Modulo pour obtenir le reste entier d'une division.

  3. #3
    Membre confirmé
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Il faut repasser aux bases de la numérotation décimale.
    28,6 unités, c'est 28 unités + 6 dixièmes d'unité quelle que soit l'unité.
    Dans notre cas on a 28 semaines + 6 dixièmes de semaines soient 4,2 jours (0,6*7=4,2)
    Il faut passer par la fonction Modulo pour obtenir le reste entier d'une division.
    REBONJOUR
    j'essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    days, weekdays are int
    startdate, enddate are Date
    startdate=SAI_DDR
    enddate=DateDuJour()
    days = DateDifférence(SAI_DDR, DateDuJour())
    weekdays = ((days/7))+modulo(days,7)
    Info(weekdays)
    mais pas exacte

    J'ai pas compris cette partie soient 4,2 jours (0,6*7=4,2)
    (Désolé je suis médecin)

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 020
    Par défaut
    Bonjour,

    Ce que Voroltinquo essaye d'expliquer c'est que tu ne travailles pas sur la meme base.

    Les décimales représentent le pourcentage de jours par rapport à la semaine

    si on fait un produit en croix on va avoir

    semaine jour
    1 7
    0.6 x

    Ce qui nous donne comme résultat (x étant le nb de jour)
    x = 0.6 * 7 / 1 = 4.2

  5. #5
    Membre confirmé
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Par défaut Nombre de semaines entre deux dates
    Pardons pour c'est questions
    je prends par exemple 118 jours de grossesse si je devise 118 /7 = 16,85 logiquement ça ne doit pas correspondre a 16 Semaines et 8 jours .

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 020
    Par défaut
    Non ça fait 16 semaines et 5.95 jours arrondi à 6 jours. Tu peux arrondir au supérieur tout le temps.

    soit 16 s et 6j

  7. #7
    Membre confirmé
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Par défaut Nombre de semaines entre deux dates
    Citation Envoyé par philouZ Voir le message
    Non ça fait 16 semaines et 5.95 jours arrondi à 6 jours. Tu peux arrondir au supérieur tout le temps.

    soit 16 s et 6j
    Sincèrement je me demande comment je suis arrivé a devenir médecin HHHHHH

  8. #8
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 933
    Billets dans le blog
    1
    Par défaut
    Nous avons une partie fractionnaire de 0,6 soient 0,6 unités. L'unité étant la semaine (i.e. 7 jours) nous avons 28 semaines (la partie entières de la division) et 7*0,6 jours.
    C'est le même principe que pour les heures, minutes sec. 30 min, c'est 0,5h donc 3,5h c'est 3h et 30 min.

    Dans ton cas weekdays ne peut pas être entier, c'est un nombre entier de semaines et un nombre entiers de jours.

    On a donc un code du genre.

    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
     
    nNbJourTotal est entier
    nResteEnJour est entier
    nDuréeEnSemaine est entier
    sDuréeSemaineJour est chaine
    sSemainePluriel est chaine
    sJourPluriel est chaine
     
    sDuréeSemaineJour="%1 Semaine%2 et %3 Jour%4" //%1 sera le nb de semaines, %3 le nb de jours %3 et %4 permettrons d'ajouter ou non un "s"
     
    nNbJourTotal = DateDifférence(SAI_DDR, DateDuJour())
    nResteEnJour = Modulo(nNbJourTotal,7)
    nDuréeEnSemaine = (nNbJourTotal-nResteEnJour)/7
     
    SI nResteEnJour>1 ALORS
         sJourPluriel="s"
    SINON
         sJourPluriel=""
    FIN
     
    SI nDuréeEnSemaine>1 ALORS
        sSemainePluriel="s"
    SINON
        sSemainePluriel=""
    FIN
     
    sDuréeSemaineJour=ChaineConstruit(sDuréeSemaineJour,nDuréeEnSemaine,sSemainePluriel,nResteEnJour, sJourPluriel)

  9. #9
    Membre confirmé
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Par défaut
    c'est extraordinaire merci infiniment

    PARDONS POUVEZ VOUS CHER M'EXPLIQUEZ CETTE PARTIE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //%1 sera le nb de semaines, %3 le nb de jours %3 et %4 permettrons d'ajouter ou non un "s"
    sDuréeSemaineJour=ChaineConstruit(sDuréeSemaineJour,nDuréeEnSemaine,sSemainePluriel,nResteEnJour, sJourPluriel)

  10. #10
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 933
    Billets dans le blog
    1
    Par défaut
    Je construit ma chaîne pour afficher le résultat. Les %n sont les paramètres qui seront passés a la fonction cf https://doc.pcsoft.fr/fr-FR/?3024006...truit_fonction
    D'ailleurs, faut lire
    %2 et %4 serviront à ...
    Cela évite un résultat du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    3 semaine et 1 jours

  11. #11
    Membre confirmé
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2019
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Décembre 2019
    Messages : 112
    Par défaut
    Merci infiniment vous êtes aimable

Discussions similaires

  1. Calcul du nombre de semaines entre deux dates en javascript
    Par shaun_the_sheep dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/07/2016, 14h33
  2. Réponses: 0
    Dernier message: 31/05/2011, 19h15
  3. [Toutes versions] Ajouter un nombre de semaines à une date
    Par chris_ij32 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/04/2011, 09h06
  4. [WD14] Le nombre de semaine entre deux date
    Par ellodidier dans le forum WinDev
    Réponses: 1
    Dernier message: 02/04/2011, 19h00
  5. nombre jour entre deux dates
    Par lazzeroni dans le forum Oracle
    Réponses: 1
    Dernier message: 16/06/2006, 16h15

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