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 :

Numéro de semaine ISO Euro en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut Numéro de semaine ISO Euro en VBA
    Bonjour,

    Je n'arrive pas à trouver le code pour renvoyer le numéro de la semaine du lundi.

    La formule est :

    Le lundi 30 décembre 2019 fait partie de la semaine 1 2020, c'est correct.
    =TEXTE(DX19;"mmmm aaaa") &" "& "Sem."&NO.SEMAINE(DX19;21) (avec le 21 pour la norme ISO Euro)

    Mais en VBA ????
    Le code ci-dessous affiche pour le lundi 30 décembre 2019 la semaine 53 2019, ce qui n'est pas correct.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Format(ActiveCell, "ww", vbMonday)
    Help ...

    Merci pour vos lumières
    Philippe

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Le fait de préciser vbMonday ne veut pas dire que tu demandes le n° européen, mais seulement que la semaine commence le lundi et pas le dimanche...

    Je te propose une fonction perso (utilisable uniquement en VBA Excel):
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function WeekNoIso(MyDate As Date) As Integer
      WeekNoIso = Evaluate("isoweeknum(" & CLng(MyDate) & ")")
    End Function
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Ok, mais quelle est le code avec Activecell ...
    Merci


    Citation Envoyé par Pierre Fauconnier Voir le message
    Salut.

    Le fait de préciser vbMonday ne veut pas dire que tu demandes le n° européen, mais seulement que la semaine commence le lundi et pas le dimanche...

    Je te propose une fonction perso (utilisable uniquement en Excel):
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function WeekNoIso(MyDate As Date) As Integer
      WeekNoIso = Evaluate("isoweeknum(" & CLng(MyDate) & ")")
    End Function

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    En supposant que cette formule est écrite dans la cellule A1, tu tapes dans la fenêtre d'exécution ? Range("A1").Formula et tu auras ta formule utilisable avec un WorksheetFunction ou un Evaluate.

  5. #5
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    OK merci, mais le problème c'est que je n'ai pas de formule avec que le numéro de la semaine ...

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =TEXTE(U19;"mmmm aaaa") &" "& "Sem."&NO.SEMAINE(U19;21)




    Citation Envoyé par Menhir Voir le message
    En supposant que cette formule est écrite dans la cellule A1, tu tapes dans la fenêtre d'exécution ? Range("A1").Formula et tu auras ta formule utilisable avec un WorksheetFunction ou un Evaluate.

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par goninph Voir le message
    OK merci, mais le problème c'est que je n'ai pas de formule avec que le numéro de la semaine ...

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =TEXTE(U19;"mmmm aaaa") &" "& "Sem."&NO.SEMAINE(U19;21)
    C'est une blague ???
    Tu dis que tu n'as pas de formule et tu montres une formule à la ligne juste après...

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Tu ne sais pas lire ma réponse?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Faut faire un effort, quand même, depuis le temps que tu poses des questions sur nos forums...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Evaluate("isoweeknum(" & CLng(activecell.value) & ")")
    Ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.isoweeknum(activecell.Value)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Désolé, mais je pose des questions pour apprendre et ne pas me tromper ou trouver la meilleure solution, je débute et c'est loin d'être simple.

    Je confirme que j'ai enfin le bon numéro de semaine

    Merci pour votre patience et votre temps
    Salutations
    Philipe

  10. #10
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par goninph Voir le message
    Désolé, mais je pose des questions pour apprendre et ne pas me tromper
    On pourrait te croire si tu passais plus de 10 min à étudier les propositions qui te sont faite avant de dire "je sais pas faire, faites-le pour moi".

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par goninph Voir le message
    Désolé, mais je pose des questions pour apprendre[...]
    C'est très bien. Il n'y a aucun soucis à cela. Mais tu as déjà un petit paquet de messages à ton actif, avec pas mal de code qui t'a été donné et parfois expliqué. Dans cette discussion, je t'ai montré une architecture pour t'expliquer comment écrire ton code, le découper en procédures petites et faciles à écrire, comprendre et tester. D'autres t'ont renseigné de la littérature sur DVP pour t'aider à progresser. Je pense qu'il faut que tu te penches sur les codes fournis et expliqués pour les comprendre et appréhender la syntaxe et le vocabulaire de VBA.

    S'il te manque les bases, il y a un tuto qui ressemble plus à un bouquin qu'à un tuto qui explique le VBA...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Bonsoir,

    Je remercie toutes les personnes qui me donnent un coup de main.

    Concernant cette discussion, elle m'a beaucoup aidée et j'ai repensé mon projet grâce à vous. J'ai oublié de répondre.

    J'ai beaucoup appris ces derniers mois et j'espère pouvoir en apprendre encore beaucoup et désolé si j'ai ouvert beaucoup de discussions

    Ce forum est d'une qualité exceptionnelle.

    Encore merci et bonne soirée
    Philippe

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Merci pour ton appréciation de nos forums.

    Bonne continuation dans le développement de tes projets (et n'hésite pas à poser des questions, mais aussi à essayer et tenter par toi-même )
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. [XL-2010] Numéro de semaine en vba
    Par Nounours1 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/10/2018, 16h10
  2. Numéro de semaine ISO depuis une date
    Par TheBlue dans le forum Développement
    Réponses: 5
    Dernier message: 07/05/2018, 14h01
  3. Réponses: 3
    Dernier message: 15/08/2013, 21h11
  4. Faire des calculs sur le numéro de semaine ISO
    Par Fiona08 dans le forum SQL
    Réponses: 13
    Dernier message: 20/10/2008, 11h28
  5. [VBA-E]Trouver le Numéro de semaine
    Par ekynoxx dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/05/2007, 15h27

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