Installation fonction NO.SEMAINE

klm

XLDnaute Nouveau
Salut a tous! je vous explique mon probleme, j'ai besoin d'utiliser la fonction NO.SEMAINE pour une entreprise ou je fait mon stage,
la bas pas de souci pour l'installation
outils -> macro complementaire
et ca roule!

mais chez moi impossible de l'installer sachant que je n'ai pas le cd EXCEL, y a-t-il un endroit ou je pourrais telecharger la fonction?
ou par un autre moyen?

j'utilise Excel 2003, merci d'avance c'est trés important !!!
:eek:
 

ROGER2327

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Bonjour à tous


Une autre proposition.​


ROGER2327
#5863


Dimanche 22 Palotin 139 (Saints Palotins des Phynances - fête Suprême Seconde)
22 Floréal An CCXX, 4,6337h - fritillaire
2012-W19-5T11:07:15Z
 

Pièces jointes

  • Classeur2.xlsm
    361.6 KB · Affichages: 110
  • Classeur2.xlsm
    361.6 KB · Affichages: 123
  • Classeur2.xlsm
    361.6 KB · Affichages: 126

Misange

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Bonjour
Une autre proposition qui utilise la fonction ISOWeekNum de Daniel Maher.
Je note une différence avec la solution de PierreJean (que je salue :) )
Avec la fonction de Daniel (et mon calendrier), le 11 mai 2012 est en semaine 19 et non pas 20.
 

Pièces jointes

  • Copie de clark.xls
    48.5 KB · Affichages: 106

pierrejean

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Re

Salut Misange :) :)

Avec tout le respect que je dois à Excelabo , je persiste à penser que le 11/05/2012 est dans la semaine 19 (Semaine selon la norme ISO)

Voir le fichier ( dans lequel j'ai reporté la proposition de ROGER (que je salue)) Feuil3
 

Pièces jointes

  • Copie%20de%20clark(1).xls
    75.5 KB · Affichages: 88
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Bonjour à tous,

Misange : Avec la fonction de Daniel, je trouve semaine 20 pour le 11 mai 2012...

Capture_1.png

Bises
A + à tous

Edition : Salut PJ et Bises à Mamie Verveine...
 

Pièces jointes

  • Capture_1.png
    Capture_1.png
    48 KB · Affichages: 205
  • Capture_1.png
    Capture_1.png
    48 KB · Affichages: 195

ROGER2327

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Bonjour à tous



J'ai également un doute sur la fonction proposée par Misange.​


ROGER2327
#5864


Dimanche 22 Palotin 139 (Saints Palotins des Phynances - fête Suprême Seconde)
22 Floréal An CCXX, 6,2485h - fritillaire
2012-W19-5T14:59:47Z
 

Pièces jointes

  • Classeur3.xlsm
    26.5 KB · Affichages: 89
  • Classeur3.xlsm
    26.5 KB · Affichages: 105
  • Classeur3.xlsm
    26.5 KB · Affichages: 103

ROGER2327

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Suite...


Je verrais bien :​
VB:
Function NuméroDeSemaineISO(d1 As Date) As Integer
'Daniel Maher/excelabo
'Correction par ROGER2327
    Dim madate As Long
    madate = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
    NuméroDeSemaineISO = Int((d1 - madate + Weekday(madate) + 5) / 7)
End Function
D'où l'intérêt de commencer les modules par Option Explicit...​


ROGER2327
#5865


Dimanche 22 Palotin 139 (Saints Palotins des Phynances - fête Suprême Seconde)
22 Floréal An CCXX, 6,3139h - fritillaire
2012-W19-5T15:09:13Z
 

Pièces jointes

  • Copie de Classeur3.xlsm
    26.9 KB · Affichages: 95
  • Copie de Classeur3.xlsm
    26.9 KB · Affichages: 104
  • Copie de Classeur3.xlsm
    26.9 KB · Affichages: 105

ROGER2327

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Suite de la suite...


En fait, Daniel Maher n'y est pour rien. Il a écrit :
Code:
Function ISOWeekNum(d1 As Date) As Integer
 'Daniel Maher
  Dim Jan03 As Long
  Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
  ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7)
End Function
qui fonctionne bien...



ROGER2327
#5866


Dimanche 22 Palotin 139 (Saints Palotins des Phynances - fête Suprême Seconde)
22 Floréal An CCXX, 6,4080h - fritillaire
2012-W19-5T15:22:45Z
 

Misange

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

De mieux en mieux... ! bouh bon ben je vais aller faire un clafoutis pour terminer mes cerises congelées de l'année dernière avant que les nouvelles n'arrivent, il est temps que j'arrête le clavier :rolleyes:
 

JCGL

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Bonjour à tous,
Bonjour Geedee,

Pour se départir du choix, possible mais non "réglementaire", du séparateur décimal :
Code:
=ENT(MOD(ENT((C2-2)/7)+3/5;52+5/28))+1

A + à tous
 

Modeste geedee

XLDnaute Barbatruc
Re : Installation fonction NO.SEMAINE

Bonjour à tous,
Bonjour Geedee,

Pour se départir du choix, possible mais non "réglementaire", du séparateur décimal :
Code:
=ENT(MOD(ENT((C2-2)/7)+3/5;52+5/28))+1

:cool:
en toute précision mathématique l'arrondi à la semaine se faisant le jeudi, il vaudrait mieux utiliser 4/7 (0.5714) au lieu de 3/5 (0.6)
l'arrondi au 1/10éme étant ici suffisant, Christophe a judicieusement choisi 0.6 plus prés de 0.571 que 0.5(ne convenant pas)

nb :
- on aurait pu également exprimer le modulo 52+5/28 par 52.17857 (365.25/7 ou bien 1461/28) ***
- quant au date-2 , considérant que dans le calendrier Excel le jour 1 = 1er janvier 1900 était un dimanche, le lundi etant alors le jour 2, l'origne des semaines(lundi) est décalée de 2.

*** EDIT :
l'approximation sur la durée de l'année moyenne (365+365+365+366)/4 =365.25
différe de l'année sidérale 365.256363 ( 9mn par an) ce qui peut expliquer le décalage et la non pérénité de la formule dans le temps

par ailleurs l'année 2100 dont la patie séculaire n'est pas divisible par 4
met en echec la durée moyenne ci-dessus prise en compte
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 280
Messages
2 086 747
Membres
103 384
dernier inscrit
bakhtibenabbey