XL 2010 Problème sur calcul "N° de semaine"

dadu35

XLDnaute Nouveau
Bonjour,
j'utilise la formule ENT(MOD(ENT((B10+1462-2)/7)+0,6;52+5/28))+1 pour le calcul du numéro de semaine sous EXCEL 2010.
Pour la date du Lundi 07 janvier 2019 j'obtiens :
dans un fichier datant de 3 ans, le résultat N° de semaine = 2 (correct)
dans un nouveau fichier que je suis à réaliser, N° de semaine =1 (faux)
Je ne trouve pas la raison de ce dysfonctionnement dans le second fichier, dans lequel d'ailleurs j'ai aussi des soucis de MFC (Mise en Forme Conditionnelle).
Est-ce un souci de paramétrages du fichier . . . . ?
Avez-vous une idée ou une réponse ?
Merci à tous
Daniel
 

JM27

XLDnaute Barbatruc
Bonjour
@Pierre Jean que je salue
une bidouille que j'ai découvert
On peut ajouter une description dans une fonction.
Il suffit d'afficher la feuille la liste des macro du fichier.
les fonctions ne sont pas affichées ( il faut mettre le nom de la fonction dans le champ Nom de la macro) et puis cliquer sur
options , et documenter la description.
cela peut être bien pratique

mais cela je pense que tu le sais
 

Pièces jointes

  • Classeur1.xlsm
    13.1 KB · Affichages: 15
Dernière édition:

JM27

XLDnaute Barbatruc
Bonsoir
@pierrejean
il existe aussi
Function NumSemaineJM(LaDate As Date) As Variant
NumSemaineJM = DatePart("ww", LaDate, vbMonday, vbFirstFourDays)
'Fonction DatePart Très intéressante pour mettre une date au format choisi
'utiliser l 'aide VBA sur DatePart
End Function
 

Pièces jointes

  • Fonction num semaine iso.xlsm
    14.2 KB · Affichages: 5

Modeste geedee

XLDnaute Barbatruc
Bonjour,
j'utilise la formule ENT(MOD(ENT((B10+1462-2)/7)+0,6;52+5/28))+1 pour le calcul du numéro de semaine sous EXCEL 2010.
Pour la date du Lundi 07 janvier 2019 j'obtiens :
dans un fichier datant de 3 ans, le résultat N° de semaine = 2 (correct)
dans un nouveau fichier que je suis à réaliser, N° de semaine =1 (faux)
Je ne trouve pas la raison de ce dysfonctionnement dans le second fichier, dans lequel d'ailleurs j'ai aussi des soucis de MFC (Mise en Forme Conditionnelle).
Est-ce un souci de paramétrages du fichier . . . . ?
Avez-vous une idée ou une réponse ?
Merci à tous
Daniel
c'est quoi ce 1462 ????
on utilise cette valeur lors du portage de données avec le calendrier 1904

la formule originale concerne uniquement le calendrier 1900
dans le cas de l'utilisation MAC il faut déterminer le jour X du 1/janv/1904
=ENT(MOD(ENT((B10-X)/7)+0,6;52+5/28))+1
 

JM27

XLDnaute Barbatruc
Bonjour
Pour info
J'ai fait une petite moulinette sur des dates pour comparer les différentes solutions.
Tout n'est pas parfait entre les formules et les macro fonction.
si vous voulez arrêter la macro avant la fin : ctrl +Pause

Edit pour Pierre Jean j'ai un peu modifié ta macro ( je viens de reposter un fichier) ( a priori elle fonctionne bien)
seule ma fonction date part pose pb
 

Pièces jointes

  • Num semaine.xlsm
    20.9 KB · Affichages: 13
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
J'ai fait une petite moulinette sur des dates pour comparer les différentes solutions.
Tout n'est pas parfait entre les formules et les macro fonction.

=ENT(MOD(ENT((A1-2)/7)+3/5;52+5/28))+1
Elle est basée sur la régularité du calendrier qui redevient semblable tous
les 28 ans,
elle ne sera plus valable après le 28 janvier 2104 exactement
 

Discussions similaires