N° de semaine

Comment associer une date au N° de semaine correspondant?

par exemple pour le jour on peut taper la formule TEXTE(case concernée;"jjjj")

merci de votre réponse

Bonjour,

Tu peux essayer avec cette formule :

=TEXTE(7*A1+DATE(ANNEE(AUJOURDHUI());1;3)-JOURSEM(DATE(ANNEE(AUJOURDHUI());1;3))-5;"jjjj")

En sachant qu'on peut se passer de la fonction TEXTE en mettant la cellule au format personnalisé : jjjj

Remplace le cas échéant AUJOURDHUI() par une référence de cellule

@+

Bonjour

Une autre formule renvoyant le No de semaine correspondant à la date en A1

=ENT(MOD(ENT(($A1-2)/7)+0,6;52+5/28))+1

Cordialement

10archertestcp1.xlsm (49.09 Ko)

Bonjour à tous,

Une autre méthode pour afficher le numéro de semaine d'une date en cellule A1 :

=NO.SEMAINE(A1;2)

Au préalable, il faut aller dans le menu "Outils" puis "Macros complémentaires" et cocher l'option "Utilitaire d'analyse".

Bonne journée.

Fabrice,

Bonjour,

J'ai compris que notre amie souhaitait avoir la date en fonction d'un numéro de semaine (et non l'inverse).

Sinon, attention à la fonction NO.SEMAINE qui retourne le n° de semaine en fonction de la norme US et non la norme Européenne. Cette norme dit que la semaine n°1 est celle qui comporte au moins 4 jours.

D'où le recours par exemple à la formule proposée par Amadéus.

Attendons le retour de Céline pour savoir ce qui lui conveint.

@+

Re,

Après avoir relu (dans le bon sens) la demande de Céline, il semble effectivement que ce soit l'inverse de ma réponse qu'elle souhaitait...

Par contre Thibo, je n'ai pas compris ta mise en garde concernant la fonction "NO.SEMAINE". Il me semblait qu'il fallait juste "jouer" sur le dernier argument (1 ou 2) pour choisir une semaine du dimanche au lundi ou du lundi au dimanche.

D'ailleurs, si tu appliques la fonction sur la date du 1er janvier 2009, excel te retourne bien le numéro 1 alors que cette semaine ne fait que 3 jours...

Peux-tu m'en dire plus à ce sujet ? Je suis régulièrement confronté à des recherches de données en fonctions des numéros de semaine et j'utilise souvent la fonction "NO.SEMAINE"...

Merci de ton aide.

Fabrice,

Bonjour

Si nous avons interprété à l'envers la demande, il est encore temps de rectifier.

Un exemple qui affiche la ou les dates en fonction du No de semaine.

https://www.excel-pratique.com/~files/doc2/La_semaine_No_X_va_du_au.xls

Cordialement

Bonjour,

Voici un fonction vba qui retourne la date du lundi de la semaine

pour exemple lundi_semaine(2009,1) donne 29/12/2008

Function lundi_semaine(annee, Optional num_semaine As Integer = 1)
Application.Volatile
If num_semaine = 0 Then num_semaine = 1
'If IsMissing(num_semaine) Then num_semaine = 1
x = Weekday(DateSerial(annee, 1, 1), 2)
If x > 4 Then
    pf = DateSerial(annee, 1, 1) - x + 8
Else
   pf = DateSerial(annee, 1, 1) - x + 1
End If
lundi_semaine = pf + (num_semaine - 1) * 7
End Function

Pour ce qui est du numéro de semaine Excel n'est pas compatible avec la norme francaise. C'est la première semaine de l'année qui contient un jeudi qui est considérée comme première semaine de l'année.

Voici une fonction qui en tient compte

Function NOSEM(d As Date, Optional an, Optional tiret) 'As Long
If IsMissing(tiret) Then tiret = ""
Application.Volatile
   d = Int(d)
   NOAN = Year(d + (8 - Weekday(d, vbSunday)) Mod 7 - 3)
   NOSEM = DateSerial(Year(d + (8 - Weekday(d, vbSunday)) Mod 7 - 3), 1, 1)
   NOSEM = ((d - NOSEM - 3 + (Weekday(NOSEM, vbSunday) + 1) Mod 7)) \ 7 + 1
    NOSEM = Format(NOSEM, "00")
If IsMissing(an) = False Then
    NOSEM = Mid(CStr(NOAN), 3) & tiret & NOSEM
End If
End Function

NOSEM(1/12009) =01

NOSEM(1/12009;1) =0901 année semaine

NOSEM(1/12009;1;"_") =09_01 année semaine

Bonjour a tous

En europe la semaine appartient à l'année où est le jeudi (donc 4 jours)

Aux USA et pour excel (avec la formule N° semaine), la semaine appartient à l'année où est le premier jour de la semaine (le dimanche ).

A+

Rechercher des sujets similaires à "semaine"