Afficher dans la même céllule la date et le N° de semaine

Bonjour à tous,

J'ai des céllules ou figurent des dates.

ex:

04/04/2013

Jusqu' ici, rien de bien compliqué.

Auriez-vous une astuce pour pouvoir afficher de cette façon dans la même céllule:

04/04/2013 ( Sem 14 )

Merci pour votre aide

@+

Robert

Bonjour,

Une formule :

=TEXTE(AUJOURDHUI();"jj/mm/aaaa")&" (sem "&ENT(MOD(ENT((AUJOURDHUI()-2)/7)+0,6;52+5/28))+1&")"

Cdlt

Bonjour, Bonjour Jean-Eric,

Sur la même idée, un peu plus court ?

=TEXTE(A8;"jj/mm/aaaa")&" (sem "&NO.SEMAINE(A8)&")"

@ Boby71C : Attention, si tu a des calculs sur les dates ça n'ira plus.

A+

RE, bonjour lermite,

La première fonction donne le numéro de la semaine à la norme européenne (ISO) et prend en compte les années bissextiles.

Cdlt.

Re,

La fonction NO.SEMAINE peut aussi être paramétrée suivant les deux modes.

NO.SEMAINE(A1;1)
NO.SEMAINE(A1;2)

Et dois y avoir une tite erreur dans la transcription de ta formule, pour le 5/04/2004 donne semaine 5 ?

A+

RE,

La norme ISO appliquée en France et en Europe considère que la semaine 1 d'une année donnée est la première

semaine de cette année qui comporte au moins 4 jours, c'est à dire qui commence au plus tard un jeudi.

La fonction NO.SEMAINE ne prend pas en compte cet élément.

Cdlt.

nb : la fonction retourne 15 et non 5

La fonction NO.SEMAINE considère la semaine comprenant le 1er janvier comme la première semaine de l'année. Cependant, selon une norme européenne, la première semaine est celle dont la majorité des jours (quatre ou plus) tombent dans la nouvelle année. Ainsi, pour les années dont trois jours ou moins sont dans la première semaine de janvier, la fonction NO.SEMAINE produit des numéros de semaines incorrects selon la norme européenne.

Hummm, c'est pas mon jour

Je prendrais pour excuse qu'en général je fais ça en VBA..

Function NoSemaineISO(D As Date) As Integer
    NoSemaineISO = Format(D, "ww", vbMonday, vbFirstFourDays)
End Function

Cdlt.

Bonjour à tous,

Merci beaucoup pour vos réponses.

Les formules fonctionnent, mais j'aurai voulu éviter car ça nécessite d'ajouter des colonnes à mon fichier qui est déjà très volumineux.

Je pensai qu'il y aurait peut être un format spécifique à déclarer pour la colonne concernée !!! mais je dois rêver

Pour le code VBA, je n'arrive pas à le faire fonctionner, je joints un petit fichier

Merci à tous

@+

Robert

Une fonction VBA ne devrait pas ajouter de colonne..

Sub ChangeCel()
Dim Lig As Long
Dim T As String, V, S As Integer
    With Sheets("Feuil1")
    For Lig = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
        V = .Cells(Lig, "A")
        If IsDate(V) Then
        S = Format(V, "ww", vbMonday, vbFirstFourDays)
            T = CStr(V) & " (Sem " & S & ")"
            .Cells(Lig, "A") = T
        End If
    Next Lig
    End With
End Sub

Adapter à la feuille et à la colonne

Cdlt.

Re,

Une autre solution :

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

    Application.EnableEvents = False
    If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then
        If IsDate(Target) Then Target = Target & " (sem " & NoSemaineISO(Target.Value) & ")"
    End If
    Application.EnableEvents = True

End Sub

Cdlt

Bonsoir à tous,

La solution de Jean Eric a l'air de bien fonctionner, je l'ai adaptée à la totalité des colonnes.

Je fais un essai lundi sur mon véritable fichier et je vous tiens informés.

Merci à tous pour votre précieuse aide.

Bonne chandeleur

@+

Robert

Bonjour à tous,

au passage, sur excel 2010, NO.SEMAINE accepte le paramètre 21 qui correspond au n° de semaine ISO.

=NO.SEMAINE(date;21)

Mais bon, il faut être sûr que le classeur ne servira pas sur 2003.

eric

Bonjour à tous,

Ça fonctionne très bien

Merci beaucoup

Bonne journée

Robert

Rechercher des sujets similaires à "afficher meme date semaine"