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

Macros et VBA Excel Discussion :

Numero de Semaine avec 1er janvier en semaine1 [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut Numero de Semaine avec 1er janvier en semaine1
    Bonjour Le Forum,
    Tout est dans le titre, lol
    Je m'explique, j'utilise cette fonction pour calculer le numéro de semaine d'une date.
    Elle fonctionne nikel.

    mais je voudrais que les date du 1er janvier ne soit jamais en semaine 52 mais en semaine 1 de l'année concernée.
    Est-ce jouable ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function NOSEM(D As Date) As Long
       D = Int(D)
       NOSEM = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
       NOSEM = ((D - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) \ 7 + 1
       If NOSEM >= 52 And Month(D) = 1 Then
          NOSEM = 0
       End If
    End Function
    Bonne am et bon We

    Seb
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par GADENSEB Voir le message
    Bonjour,

    Et en utilisant directement la fonction NO.SEMAINE avec l'option 1 ?

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    cette phrase :
    mais je voudrais que les date du 1er janvier ne soit jamais en semaine 52 mais en semaine 1 de l'année concernée.
    est entachée d'ambiguïté.
    Elle ne permet pas de déterminer avec assurance :
    1) - si la première semaine est celle contenant le 1er janvier de chaque année
    ou
    2) - si le 1er janvier étant la 52ème semaine de l'année précédente en norme ISO européenne, il faut considérer qu'il est dans la 1ère semaine de l'année en cours.
    Et ce n'est pas du tout la même chose, sans préjudice, en outre, de la détermination du rang (jour) de début d'une semaine.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    sans parler de l'avantage d'avoir des semaines qui font de 1 à 6 jours au lieu d'en faire bêtement toujours 7 comme chez nous.

  5. #5
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    Bonjour à tous les 3
    La réponse d'Eric est parfaite. parfois je cherche trop compliqué.
    Merci
    @unparia
    - si le 1er janvier étant la 52ème semaine de l'année précédente en norme ISO européenne, il faut considérer qu'il est dans la 1ère semaine de l'année en cours
    c'est bien cela

    @Eriic
    hihihi bonne réflexion !!


    Merci à tous

    bonne am
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  6. #6
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    @Eriic
    hihihi bonne réflexion !!
    Oui, mais c'est ce qui va se passer avec =NO.SEMAINE(A3;1) si tu veux travailler comme les américains.

    dim 31/12/2017 : début et fin de la semaine 53 qui fera donc 1 jour
    mar 01/01/2019 : début de la semaine 1 qui fera 4 jours
    etc

    Utilise le n° de semaine ISO comme préconisé avec =NO.SEMAINE(A3;21) ou bien par formule qui se trouve sur le net.
    Oui, chez nous le 01/01 n'est pas obligatoirement en semaine 1. Moins gênant qu'une semaine de 4 jours à mon avis.
    eric

  7. #7
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    Hello
    Merci des conseils.
    Je sais que c'est un peu bizarre mais je dois vraiment travailler sur les semaines séparées années par années
    Une semaine 53 peut exister mais ne doit pas comprendre le 01 02 ... janvier dans ce cas là se serait des semaines 01 de l'année concernée lol

    Bonne am à tous
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Une semaine 53 peut exister mais ne doit pas comprendre le 01 02 ... janvier dans ce cas là se serait des semaines 01 de l'année concernée lol
    Ah ...
    Et ta semaine, elle commence quel jour de semaine ? (c'est également important).
    -- un Lundi, un dimanche, etc ... ?
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  9. #9
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    Je sais que c'est un peu bizarre mais je dois vraiment travailler sur les semaines séparées années par années
    Une semaine 53 peut exister mais ne doit pas comprendre le 01 02 ... janvier
    De deux choses l'une, tu n'as qu'une seule année et le problème ne se pose pas, tu en as plusieurs auquel cas tu es bien obligé d'utiliser année(de la date, pas de la semaine) & n° semaine pour les distinguer et le problème ne se pose plus. Non ?
    Et ce qq soit la formule utilisée.
    eric

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

Discussions similaires

  1. transformer date en numero de semaine et inversement avec Weekday
    Par Scopas dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 25/03/2009, 21h08
  2. Réponses: 1
    Dernier message: 28/01/2009, 09h01
  3. Réponses: 3
    Dernier message: 07/08/2006, 10h01
  4. Pb avec numero de semaine
    Par zxr69 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/01/2006, 13h02
  5. Debutant en JAVA, problème avec 1er programme
    Par Gymerus dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 07/09/2005, 12h10

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