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

Excel Discussion :

Nbre de semaine dans une ann�e


Sujet :

Excel

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par d�faut Nbre de semaine dans une ann�e
    bonjour !!
    j'�dit mon sujet car j'ai pas tr�s bien tourn� mon probl�me.
    je fais un logiciel qui simule pour chaque semaine d'une ann�e des graphique "aire 2D", les graphiques durent 1ans.pas 2fois la m�me semaine.je dois simul� le passage les semaines interm�diaires si la semaine saisie est sup�rieur � la derni�re des donn�es du graphique.


    pour calcul� les points interm�diaires lors d'un changement d'ann�e.
    il me faut savoir combien de semaine dans une ann�e.

    j'utilise :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    dim ma date as string
    Cint(Format(ma_date, "ww", vbMonday, vbFirstFourDays))
    cela fonctionne mais quand ma date =31/12/2008 le r�sultat de cette ligne est 1.pourquoi?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Cint(Format(31/12/2008, "ww", vbMonday, vbFirstFourDays)) =1
    sa marche pour 2007
    et 2006

    je r�p�te que la fonction NO.SEMAINE(x;y) n'a pas l'aire d'exister pas dans la liste fonction en mettant "tous"

    est ce vrai que la fonction fourni par excel NO.SEMAINE fonctionne mal dans certain caS?


    en faite d�sol� de ne pas avoir compris plus t�t random.

    qu'elle est la solution pour trouver le nombre de semaine dans une ann�e?en utilisant un autre moyen que la r�f�rence du num�ro de semaine du 31 d�cembre de l'ann�e voulu?

    merci vous avez des id�es?

  2. #2
    Membre �m�rite
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    660
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 660
    Par d�faut
    Bonjour,

    En A1 : 31/12/2008
    En B1 : =NO.SEMAINE(A1) renvoie 53
    En C1 : =NO.SEMAINE("31/12/2008") renvoie aussi 53

    Je ne vois pas o� est ton probl�me.

  3. #3
    Expert confirm�

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par d�faut
    Il existe une norme afnor sur les calendriers.
    En France la semaine commence un lundi.
    La semaine 1 d�une ann�e est la premi�re contenant quatre jours, ou dit autrement la premi�re semaine contenant un jeudi.
    L�application de cette r�gle conduit parfois � une semaine 53
    Le premier janvier 2009 tombe un jeudi donc du 29 d�cembre 2008 au 4 janvier 2009 nous sommes en semaine 1 de 2009

    La fonction no.semaine en fonction des param�tres syst�mes peut retourner un num�ro diff�rent chez toi elle semble ok

    On peut utiliser d�autres r�gles internationales en utilisant

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    Function nose(x As Variant) As Variant
    If IsDate(x) Then
    ' à la norme française 
    nose = CByte(Format(x, "ww", vbMonday, vbFirstFourDays))
    Else
    nose = Null
    End If
    End Function
    Et en rempla�ant vbmonday( valeur 2) par un autre param�tre r�gional
    Et vbfirstfourday(valeur 2) par la valeur idoine.

    L�aide de la fonction format pourrait t��tre utile.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par d�faut fonction NO_SEMAINE
    je pige pas la fonction s'appelle comment en vb sa me donne un
    mais sous une feuille pas moyen de trouver la fonction et d'avoir un r�sultat je l'ai fait hier aujourdhui je trouve pas:

    excel 2000




    sinon le code vb
    de la macro excel que j'avais enregistr�


    HAAAA je sais pourquoi j'avais essay� sur les versions > 2003

    donc code obligatoire

    comment faire sur excel 2000



    dans le cadre de mon algo
    je viens de le faire avec la fonction du dessus gentillement propos�
    et regard� magie =1 pour 31/12/2008 et pour 31/12/2007 =53
    pour les ann�es en dessous sa marche on dirait!!


    alors??? svp c'est int�ressant!!enfin surement un bug mais comment le contourn�?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par d�faut svp
    pouvez me donnez votre avis?


    cordialement
    -------------------------
    kickoune

  6. #6
    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
    Bonsoir...

    Il aurait �t� int�ressant que ta copie d'�cran ait �t� r�alis�e avec la cellule B1 active, puisque c'est elle qui pose probl�me...

    Il y a presque certainement une faute de frappe � la saisie de la formule.

    Ok?
    "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...
    ---------------

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par d�faut
    la fonction n'existe pas sur excel 2000

    ai-je tords en cherchant sur le net il y a �crit 2000, en tous cas elle n'est pas dans la liste des fonctions.
    -de plus la fonction avec laquel on voit que sa merde est �quivalente � nO.SEMAINE

    je viens d'essay� chez moi sur 2007

    sa fait un si on ne met pas guillemet autour de la date en utilisant NO.SEMAINE.....

    mais je pr�fer� utilis� un code vba car la fontion NO.SEMAINE merde dans certain cas cit� sur le net....non??
    j'essayer� sur 2000

  8. #8
    R�dacteur/Mod�rateur