Format de date avec numéro de semaine

Bonjour à tous,

Est ce qu'il existe la possibilité d'appliquer un format spécifique à une colonne de date tel que le résultat serait : Numéro de semaine et année ou inversement, un peu du même type que le mois et l'année.

Par exemple pour une celule avec une date au 14/03/2016 on aurait comme résultat 12-16.

J'ai la solution avec " =NO.SEMAINE(G2)&"-"&ANNEE(G2) " mais du coup le format est changé en TEXTE et il n'y a plus moyen d'avoir un menu correctement trié dans un tableau croisé dynamique

Merci d'avance pour votre aide.

Bonjour

Effectivement tu obtiens du texte, puisque tu mets un tiret entre le n° de semaine et l'année. Que veux-tu avoir exactement comme résultat???

Cordialement

Bonjour,

Le format de date ISO utilisant le numéro de semaine s'écrit selon la norme ISO : (exemple pour aujourd'hui)

  • soit avec séparateurs : 2017-S34-1 (français) ou 2017-W34-1 (anglais)
  • soit sans séparateur : 2017S341 ou 2017W341
(diverses variantes sont admises : préfixer le jour par J (français) ou D (anglais), l'omettre, etc.)

Mais pas de format de cellule pour cela, ni aucun format de cellule intégrant la semaine, donc seule la transformation en texte permet de formater ainsi une date...

Note que NO.SEMAINE(G2) ne donne pas le numéro de semaine en vigueur en Europe. Il faut créer une formule spécifique pour les versions d'Excel antérieures à 2010, l'assortir du paramètre 21 pour 2010 (NO.SEMAINE(G2;21)), et les versions ultérieures disposent d'une fonction dédiée à l'ISOWEEK...

Cordialement.

Bonjour,

Attention à la fonction "NO.SEMAINE(()" !

Cette fonction de Laurent Longre donne le bon résultat (semaine 11 et non 12 puisque que seulement 3 jours début janvier, du vendredi 1 au dimanche 3) :

=ENT((A1-SOMME(MOD(DATE(ANNEE(A1-MOD(A1-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7)

Sinon, avec une fonction perso en VBA :

Function NUMSEMAINE(Cel As Range) As Integer

    NUMSEMAINE = DatePart("ww", Cel.Value, 2, 2)

End Function

utilisée de cette façon :

=NUMSEMAINE(A1)

Mais effectivement, quand tu concatènes les résultats des deux fonctions, le numéro de série de la date disparaît et ça devient du texte !

Et oui merci pour vos réponses, effectivement on obtient du texte donc impossible a trier correctement dans un Tableau croisé, et pourtant dans la formule le "ww" reprend le numéro de semaine mais impossible a intégrer dans un format ??

quand le demande mm/yy, il ressort bien avr.-16 et il garde le format de date.

Est ce qu'il y aurait pas moyen de combiner le ww/yy ?

Rebonjour

Si tu veux du numérique, tu supprimes &"-",tu as alors le numéro de semaine collé à l'année???

Bonne continuation

Re,

Si tu veux du numérique, tu supprimes &"-",tu as alors le numéro de semaine collé à l'année???

Oui mais tu n'as toujours pas le numéro de série donnant la date et pour avoir le résultat des deux fonctions, il te faut utiliser l'esperluette et donc format texte !

Bonjour

Theze a écrit :

Attention à la fonction "NO.SEMAINE(()"

Tu ne sembles pas avoir lu le post de MFerrand qui précise bien les choses selon les versions Excel...

Frédéric M. a écrit :

Et oui merci pour vos réponses, effectivement on obtient du texte donc impossible a trier correctement dans un Tableau croisé...

IL faudrait imbriquer la fonction NO.SEMAINE(G2;21) dans une fonction texte pour pouvoir trier et si plusieurs années, inverser année et semaine comme dans la norme.

=ANNEE(G2)&"-"&TEXTE(NO.SEMAINE(G2;21);"00")

A noter que les TCD ne savant pas gérer à la fois des regroupements Mois, Années... et des regroupements de 7 jours (seul moyen de leur faire faire la semaine).

Mais on peut dupliquer la date dans la source et regrouper l'une par années et l'autre par 7 jours : cela ne met pas le numéro de semaine mais la plage de dates du Lundi au Dimanche de chaque semaine si le regroupement est correctement fait.

Re,

Tu ne sembles pas avoir lu le post de MFerrand qui précise bien les choses selon les versions Excel...

Tout simplement pas rafraîchi !

Re,

Theze : Je suis réticent sur DatePart qui curieusement a un hoquet tous les 28 ans... Pas énorme certes, mais une fonction doit pouvoir être absolument fiable à mon sens...

Ceci dit sur 2010 la fonction Microsoft semble tout à fait stable... Le seul élément de doute était que l'aide définit l'usage du paramètre 21 comme semaine du premier mardi (et non du premier jeudi !) Cependant les résultats renvoyés sont conformes.

Il n'y a pas de code numéro de semaine dans les codes formats personnalisés, il est donc impossible de conserver une valeur date mise à un format personnalisé de la sorte... La concaténation produira une valeur Texte (si on ne concatène que des chiffres, Excel peut convertir en nombre, mais ce ne sera en rien une valeur date)...

C'est la même chose si l'on travaille sur des sexagésimales (degrés, longitudes, latitudes, angles...) On peut utiliser des valeurs horaires (types date donc) pour arriver à définir des formats ad-hoc mais c'est quelque peu accrobatique.

Cordialement.

Edit : c'est souvent qu'on lit après coup ce qui précède...

Bonjour,

Theze : Je suis réticent sur DatePart qui curieusement a un hoquet tous les 28 ans... Pas énorme certes, mais une fonction doit pouvoir être absolument fiable à mon sens...

Hello MFerrand, tu m'apprends encore quelque chose ! Je vais faire attention maintenant à l'emploi de cette fonction !

Edit : c'est souvent qu'on lit après coup ce qui précède...

C'est vrai quand on confond vitesse et précipitation

Bonne journée à tous

Re,

Alors, je reviens un peu sur ce sujet car il y a quelque chose qui me chiffonne dans ce que dis MFerrand concernant la fonction "DatePart ()" et donc j'ai créé un classeur avec les dates du 01/01/1901 au 01/01/2200 et j'ai comparé les résultats entre 4 fonctions, celle de Laurent Longre, et deux autres codes péchés sur le Net et toutes les 4 me retournent exactement les mêmes résultats.

Je poste mon classeur test et si quelqu'un peut me dire où il pourrait y avoir une erreur j'en serai bien content !

Re Re,

Bon j'ai finalement trouvé !

L'erreur se produit du 29 au 31/12 et comme le dit très justement MFerrand, c'est cyclique tous les 28 ans !

Bonjour,

Fais la même chose avec le 31/12...

1923 51 79 2007 35 63 91 (ici rupture de rythme au passage séculaire) 2103 31 59 87 (autre...) 2227

...le 30/12

1907 35 63 91 2019 47 75 2115 43 71 99 2211

...le 29/12

1919 47 75 2003 31 59 87 2127 55 83 2223

Cordialement.

Edit : je n'ai vu ton dernier post qu'à validation du mien...

Rechercher des sujets similaires à "format date numero semaine"