rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Insérer le numéro de la semaine sous excel

Posté par claire35760, le vendredi 28 janvier 2005 à 17:04:59
Bonjour,

J'ai créer un fichier sous Excel et je dois afficher dans ce fichier le numéro de la semaine en cours.
J'avais réussi avec la fonction NO.SEMAINE mais quand j'ai changé le fichier de PC la formule n'a plus fonctionné.
Est ce que quelqu'un aurait une solution pour que cette fonction remarche (en sachant qu'elle n'est plus dans les fonctions crées d'avances) ou une autre solution.
Merci d'avance
claire35760
Répondre à claire35760  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
random, le vendredi 28 janvier 2005 à 18:30:09
c'est tout bete
tu fais outil macro complementaire
et tu coches les macro en +
il va te redemander ton disque d'installation
et tout marchera comme avant
elle est pas belle, la vie ?
Répondre à random

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
claire35760, le vendredi 28 janvier 2005 à 20:09:11
Merci beaucoup pour ton aide!! Je me voyais assez mal refaire tout à cause d'une seule formule. Encore merci
Répondre à claire35760

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Armojax, le samedi 29 janvier 2005 à 09:15:36
Bonjour Claire,

Puisqu'avant tu utilisais la fonction NO.SEMAINE, tu vas pouvoir faire continuer à utiliser tes classeurs sans changement (?).

MAIS... il faut savoir que cette fonction Excel comporte un bug. Il suffit pour s'en convaincre de demander en quelle semaine on est : le résultat est en avance d'une semaine en 2005 !

En effet, en général, le 1er janvier tombe en cours d'une semaine qui se trouve "à cheval" sur deux années A et A-1. Pour que cette semaine à cheval porte le numéro 01, il faut qu'elle contienne au moins 4 jours dans l'année A. Dans le cas contraire, elle sera affectée à l'année A-1, et portera le numéro 52 (ou 53, mais je n'entre pas dans le détail).

La macro NO.SEMAINE ne se casse pas la tête : elle inclut systématiquement le 1er janvier en semaine 01.

Donc fais gaffe : peut-être te faut-il ôter 1 à ton numéro de semaine en 2005 pour que tes résultats soient correct.

Bonne journée.
Armojax.
Répondre à Armojax

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
random, le vendredi 11 février 2005 à 08:42:56
il y a une methode de choix du jour de départ dans la fonction
elle est pas belle, la vie ?
Répondre à random

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Armojax, le vendredi 11 février 2005 à 08:51:18
Exactement.
Et en faisant partir les semaines du lundi, comme c'est la règle courante, on a bien le problème en 2005, et on l'aura aussi en 2006.
Répondre à Armojax

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
ced3280, le mercredi 23 mai 2007 à 10:03:04
J'ai eu le même problème au boulot.
Je l'ai contourné par la formule :
=TRONQUE((B1-(B2-1900)*365.25)/7)+1
B1 étant la date du jour et B2 l'année (=ANNEE(B1))
Répondre à ced3280

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ceroce-Rino, le mardi 5 juin 2007 à 18:18:34
Cette méthode ne fonctionne pas pour tous les cas.
Le premier de l'an, ne se trouve pas forcement dans la première semaine de l'année.
D'un autre coté, peut-on dire que le dimanche 01 janvier 2006 est une semaine à lui tout seul ?
La règle de numérotation des semaines est-elle différente selon les pays ?
Voila autant de variables à mettre en jeu pour une fonction qui parrait assez simple au départ.

Avec cette formule le samedi 07 janvier 2006 ne fait plus partie de la même semaine que le lundi 02 janvier 2006.
Ce qui parrait problématique excépté si on ne s'occupe que des jours ouvrés, mais quand même ^^
Répondre à Ceroce-Rino

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jlppap, le mercredi 28 novembre 2007 à 15:08:24
Bonjour à tous,

une solution un peu tardive, j'en conviens, mais je l'utilise et cela fonctionne à merveille; et peu importe l'année.

Utiliser la formule : date recherchée en B4

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

bonne semaine
Répondre à jlppap

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Yen Rieur, le jeudi 3 janvier 2008 à 09:33:01
pour ma part, je viens de m'en créer une qui marche
pour ttes les années que j'ai pensé à tester...
(c'est à dire celles dont j'ai un calendrier sous le nez... ^^

ENT((A1-DATEVAL("1/1/"&ANNEE(A1))+JOURSEM(DATEVAL(­"1/1/"&ANNEE(A1)))-2)/7)+1

avec bien sur, A1 contient la date que vous voulez...

en gros,
ça fais la différence entre la date et le premier janvier de l'année concernée
A1-DATEVAL("1/1/"&ANNEE(A1))

ça tiend compte du jour de la semaine qu'est le premier janvier
+JOURSEM(DATEVAL("1/1/"&ANNEE(A1)))

ça retire 2 pour que les changements s'opère les lundis
-2

et après, on divise par 7,
on prds la valeur entière
et on rajoute 1...

en tt cas, ça marche au moins pour 2007, 2008 et 2009.

si ça peut aider qq'1...
Répondre à Yen Rieur

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Yen Rieur, le jeudi 3 janvier 2008 à 09:57:01
en fait, je viens de tester ma formule
sur d'autres années passées et ça ne marche pas pour 2006...
(qd le 1er janvier appartient à la semaine 52...)

donc, j'annule mon post précédent
(et m'en excuse huhu)

par contre, j'adopte avec grde joie la formule
=ENT(MOD(ENT((A1-2)/7)+0,6;52+5/28))+1
qui doit même fonctionner sous excel 2.0 !!

grand merci à l'auteur !!!
Répondre à Yen Rieur

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ORSO4273, le jeudi 10 janvier 2008 à 20:45:10
Bonjour,

je n'ai pas testé toutes les solutions mais je crois que sa marche ,
A3 champ de la date

=MOD(NO.SEMAINE(A3;2)-(JOURSEM(DATE(ANNEE(A3);1;1);2)<>­;1)-1;52)+1

A+
Répondre à ORSO4273

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mRF, le jeudi 24 janvier 2008 à 14:42:51
Je n'arrive pas a faire fonctionner cette formule !
Je remplace A3 par ma cellule qui contient la date mais il m'indique #NOM :S
Répondre à mRF

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Yen RIeur, le vendredi 25 janvier 2008 à 00:37:27
tu as essayé la formule de jlppap ?

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

je l'ai testé, elle fonctionne pour ttes les années !!
Répondre à Yen RIeur

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
postite 1, le jeudi 12 juin 2008 à 14:08:38
Bonjour,

quand j'utilise votre formule, j'ai cette mention qui apparaît dans la cellule "#NAME?". Avez-vous une idée du pourquoi ?

merci pour votre réponse

postite1
Répondre à postite 1

22


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
YenRieur, le jeudi 12 juin 2008 à 17:41:07
dans 2 cases différentes, tapes :
=ENT(12.34)

=MOD(12.34)

déjà, on saura si c'est ENT ou MOD qui pose problème...

et après, ça doit sans doute venir de l'install de ton Excel,
des options, tt ça tt ça...

c'est quelle version que tu utilises ?
Répondre à YenRieur

23


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
YenRieur, le jeudi 12 juin 2008 à 17:43:01
je suis trop clown...

si
=ENT(MOD(ENT((B4-2)/7)+0,6;52+5/28))+1
ne marche pas, c'est peut être que ton Windows utilises des points pour faire les virgules
;op

essaye
=ENT(MOD(ENT((B4-2)/7)+0.6;52+5/28))+1
Répondre à YenRieur

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Mhaks, le mercredi 30 janvier 2008 à 12:48:34
=ENT(MOD(ENT((B4-2)/7)+0,6;52+5/28))+1

J'ai essayé cette formule mais elle pose un problème avec le 01/01/2010, elle me renvoie une semaine 53.
Répondre à Mhaks

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
yenrioeur, le jeudi 31 janvier 2008 à 20:22:20
et il a raison...

si tu regardes la date en question dans un calendrier
(en dble cliquant sur l'horloge de ton PC par exemple)

tu verras que le 1er Janv 2010 tombera un vendredi
et que le 1er janv 2009 tombe un jeudi.

et donc, c'est effectivement un cas où il y aura 53 semaines dans l'année
puisque les 4 jours

lundi 28 décembre 2009
mardi 29 décembre 2009
mercredi 30 décembre 2009
jeudi 31 décembre 2009

ne deviennent pas la semaine 2008/01

d'où l'intéret de cette formule qui tiend compte de cela
et qui ne mets pas systématiquement le 1 janv en semaine 01...
Répondre à yenrioeur

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
YenRieur, le vendredi 1 février 2008 à 07:11:08
faute de frappe :

il ne faut evidement pas lire 2008/01,
mais bien 2010/01 : la première semaine de 2010...
^_^
Répondre à YenRieur

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
togaf, le vendredi 1 février 2008 à 06:48:38
Merci jlppap pour la formule. Pourriez-vous expliquer le pourquoi des éléments qui composent la formule, mis à part MOD et ENT qui sont des fonctions connues.
Merci d'avance
Répondre à togaf

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le vendredi 1 février 2008 à 08:03:42
Bonjour,

On peut également utiliser DatePart en VBA en créant une fonction dans un module :

Function ReturnNumWeek(ByVal strDate As Date) As Integer
    ReturnNumWeek = DatePart("w", strDate)
End Function


Il suffit d'utiliser cette fonction comme une formule de calcul.

;o)

Polux
Répondre à Polux31

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jmib0, le mardi 12 février 2008 à 15:58:57
=WEEKNUM(C12+4-WEEKDAY(C12;2))
Répondre à jmib0

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Togaf, le mardi 12 février 2008 à 22:24:55
Merci jmib0, je regarde comment intégrer votre réponse avec la formule de jlppap.
Répondre à Togaf

24


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Hainlesgens, le jeudi 19 juin 2008 à 15:40:50
petite tecknique pour zappe le probleme de la semaine 53 qui ne veux rien dire :D

j'ai tout simplement creer la formule basique avec no.semaine comme tout le monde.

ensuite, je me suis rendu compte que le 31 décembre 2007 tombé dans la semaine 53 byzar!!!
par exemple le no.semaine est saisi en A1
alors la célulle d'a coter, j'ai fait

"=si(A1=53;52;A1)"

tout bete mais sa marche, ensuite plus qu'a masqué la colonne et hop on en parle plus!!!

seul probleme vraiment problématique, est que j'ai creer la formule sous Excel 2003 et que quand j'ai voulu passer la feuille de calcule sous un pc equiper de excel 2007, cela ,n'a pas fonctionné...
j'ai pourtant activé tout ce qu'il fallait comme sous 2003 d'ailleur mais impossible... ma feuille ne sert plus a rien sans ces numeros de semaine... :S
Répondre à Hainlesgens

25


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MaisLOL, le jeudi 19 juin 2008 à 17:43:06
C'est exactement le contraire qu'il faut faire. La semaine 53 elle existe et il faut l'afficher, c'est ça la difficulté... sinon il suffirait de faire ent((date()-cdate(annee(date();1;1)/7) pour faire commencer le 1er janvier en semaine 1.

Si tu fais ce que tu dis, tu vas te retrouver avec une semaine 52 qui dure 10 jours certaines années.
Répondre à MaisLOL

26


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 papouel, le lundi 21 juillet 2008 à 10:23:23
Bonjour, en fait il faut bien afficher la semaine 53 ... le pb est que c'est difficile alors de rattacher la vrai année .

En effet, si le 1er janvier 2010 est en semaine 53 et si on concatène année + num semaine ca donnerait

1er janvier 2010 --> 201053 ... et là c'est faux.

il existe en oracle une fonction qui un format de date qui renvoie 'année en fonction des semaine (format IYYY si je me rappelle bien) format qui n'existe pas me semble t'il en vb... et c'est bien dommage.....
Répondre à papouel
Logiciels pertinents trouvés dans les téléchargements
Télécharger Excel Viewer 2003Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger Avast! 4 Familial 4.8.1229Avast! 4 Familial - Avast! 4 Home Edition est un antivirus complet prévu pour les utilisateurs personnels et un usage non commercial. Le...Catégorie: Antivirus
Licence: Freeware/gratuit
Télécharger VoipBuster 4.02 build 491VoipBuster - VoipBuster s'apparente au très populaire Skype en permettant de téléphoner vers des téléphones fixes à partir d'un...Catégorie: Téléphonie/Voix sur IP
Licence: Freeware/gratuit
Télécharger TMPGEnc 2.521TMPGEnc - TMPGEnc est un encodeur, c'est-à-dire qu'il convertit un fichier vidéo, en général de type AVI en fichier de type MPEG ...Catégorie: Copie/Extraction
Licence: Open Source
Plus de logiciels gratuits sur « insérer le numéro de la semaine sous excel »