XL 2016 numéro semaine

sebastaupole

XLDnaute Nouveau
Bonjour a tous
Je recherche une formule ou un code VBA pouvant afficher les numéros de la semaine suivante de la semaine en cours, je m’explique j'ai 7 textbox dans la 1er la semaine en cours disons la 48 "la je n'ai pas de problème pour le faire avec une formule ou VBA" mais dans la 2eme je voudrais mettre la 49, puis 3eme 50, puis 4eme 51, 5eme 52, 6eme 1, et 7eme 2 et a chaque fois que la semaine en cours change les autres textbox doivent changer aussi. Avez vous une idée pouvant régler mon problème.
Merci d'avance
 

Staple1600

XLDnaute Barbatruc
Bonsoir eriiiic

Je dépasse toujours le 52 mais de manière plus courte ;)
VB:
Sub test_II()
Dim sh As Shape, Z&
NumSem = DatePart("ww", Date, 2, 2)
For Each sh In ActiveSheet.Shapes
On Error Resume Next
Z = Split(sh.Name, "ox")(1) * 1
Select Case Z
Case 1
sh.OLEFormat.Object.Object.Value = NumSem
Case 2 To 7
sh.OLEFormat.Object.Object.Value = NumSem - 1 + Z
End Select
Next
End Sub
Sinon pour NumSem, j'ai cela en stock (mais je crois qu'il peut y avoir un souci, non ?)
NumSem = Evaluate("=WEEKNUM(TODAY(),21)")
 

eriiic

XLDnaute Barbatruc
Re Staple,
à mon avis on ne peut pas faire numsem=numsem +/-1, ça serait trop simple.
Il faut le recalculer pour la date décalée.

Sinon je pense que ton stock est la meilleure solution :) (sur date décalée de +7, +14, etc bien sûr).
Je n'ai pas trouvé d'erreur sur une longue durée (au moins 100 ans) pour NO.SEMAINE(A4;21).
eric
 

Staple1600

XLDnaute Barbatruc
Re

eriiiic
La meilleure solution, c'est point plutôt ne pas utiliser des textbox, mais de simples cellules ;)
Et puis normalement, on travaille sur une année civile ;)
Donc s'arrêter sur la dernière semaine de l'année en cours me suffira, si j'étais moi ;)
Et je sais sans VBA, et sans même Excel, que la semaine qui suit la dernière semaine de l'année en cours est la première de l'année prochaine (même si des fois elles font de l'équitation ensemble ;))
 

sebastaupole

XLDnaute Nouveau
Re

eriiiic
La meilleure solution, c'est point plutôt ne pas utiliser des textbox, mais de simples cellules ;)
Et puis normalement, on travaille sur une année civile ;)
Donc s'arrêter sur la dernière semaine de l'année en cours me suffira, si j'étais moi ;)
Et je sais sans VBA, et sans même Excel, que la semaine qui suit la dernière semaine de l'année en cours est la première de l'année prochaine (même si des fois elles font de l'équitation ensemble ;))
Bonjour en faite pour faire mon fichier je prend exemple sur un ancien fichier sur lequel on bosse encore mais sur LOTUS et les dernières semaines se termine comme cela, 51 52 53 et 02 comme la 1er semaine de janvier en général mon entreprise est fermé donc cela ne gêne pas, je sais que c'est possible sur LOTUS mais je n'arrive pas a avoir ces codes
 

eriiic

XLDnaute Barbatruc
Bonjour,

Et puis normalement, on travaille sur une année civile
Ah mais c'est là-dessus que je suis parti moi

sebastaupole, tu veux dire que la semaine 1 n'existe pas ? Jamais ?
Je trouve cela particulièrement étrange.
Que dois-tu avoir pour le 31/12/18, le 01/01/19, le 07/01/19,puis le 31/12/19 et le 01/01/20 ?
eric
 
Dernière édition:

sebastaupole

XLDnaute Nouveau
Bonjour,


Ah mais c'est là-dessus que je suis parti moi

sebastaupole, tu veux dire que la semaine 1 n'existe pas ? Jamais ?
Je trouve cela particulièrement étrange.
Que dois-tu avoir pour le 31/12/18, le 01/01/19, le 04/01/19,puis le 31/12/19 et le 01/01/20 ?
eric
En faite dans ma textbox au lieu qu'il y ai 1 il y a 53 après la 2eme semaine est bien 2
donc pour le 31/12 j'ai 52 et pour le 01/01 j'ai 53 et pour le 01/02 j'ai 2, sur mon fichier LOTUS c'est ainsi bien sur ce fichier est obsolète aujourd'hui et je n'arrive pas a récupérer les codes, il est sur un serveur et c'est compliqué
 

eriiic

XLDnaute Barbatruc
Je te demande pour 5 dates, tu en fournis 3 dont 1 non demandée, et sans préciser l'année...
Et bien mettre ce que tu veux avoir, pas ce que tu as.

Si tu as vraiment 3 semaines différentes pour 3 jours consécutifs ça n'a pas grand sens.
 

sebastaupole

XLDnaute Nouveau
pour 31/12/18 je veux S 52 / pour 01/01/19 je veux S 01 / pour 07/01/19 je veux S 02 / le 31/12/19 je veux S 52 / 01/01/20 je veux S 01
je m'aperçois en n'écrivant que c'est peut être compliqué comme la dernière semaine de l'année est forcément coupé
est il possible d'avoir une formule sous condition si par exemple en A1 j'ai la formule qui me donne le n° semaine en cours disons 49 et en A2 une formule sous condition qui dit que si A1 est = 52 alors A2 = 1 sinon le resultat de A1 + 1 ce qui donnerai 50 je sais pas si je suis clair !!
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
pour 31/12/18 je veux S 52 / pour 01/01/19 je veux S 01 / pour 07/01/19 je veux S 02 / le 31/12/19 je veux S 52 / 01/01/20 je veux S 01
je m'aperçois en n'écrivant que c'est peut être compliqué comme la dernière semaine de l'année est forcément coupé
Je veux !!!!
:mad::mad:
dans aucun système le mardi 31/12/2019 n'est en : S 52 !!!
1575289887267.png


:mad: révisionnisme !!!
au pire :
=SI(NO.SEMAINE(ladate)=53;52;NO.SEMAINE(ladate))

voir l'aide en ligne (F1) pour NO.SEMAINE


o_O
N° semaine ISO d'une date :
=ENT(MOD(ENT((UneDate-2)/7)+0,6;52+5/28))+1

format de cellule :
"S "00
pour S+1
=ENT(MOD(ENT(((UneDate+7)-2)/7)+0,6;52+5/28))+1
pour S+2
=ENT(MOD(ENT(((UneDate+14)-2)/7)+0,6;52+5/28))+1
pour S+3
=ENT(MOD(ENT(((UneDate+21)-2)/7)+0,6;52+5/28))+1
etc ...
 

sebastaupole

XLDnaute Nouveau
Bonsour®
Je veux !!!!
:mad::mad:
dans aucun système le mardi 31/12/2019 n'est en : S 52 !!!
Regarde la pièce jointe 1047778

:mad: révisionnisme !!!
au pire :
=SI(NO.SEMAINE(ladate)=53;52;NO.SEMAINE(ladate))

voir l'aide en ligne (F1) pour NO.SEMAINE


o_O
N° semaine ISO d'une date :
=ENT(MOD(ENT((UneDate-2)/7)+0,6;52+5/28))+1

format de cellule :
"S "00
pour S+1
=ENT(MOD(ENT(((UneDate+7)-2)/7)+0,6;52+5/28))+1
pour S+2
=ENT(MOD(ENT(((UneDate+14)-2)/7)+0,6;52+5/28))+1
pour S+3
=ENT(MOD(ENT(((UneDate+21)-2)/7)+0,6;52+5/28))+1
etc ...
eh tu ma dit mais ce que tu veux alors j'ai mis je veux y a rien de méchant ou d'ordre je n'ai pas exiger quoi que ce soit mais MERCI beaucoup !!! mais oui la 52 eme semaine est toujours a cheval
 

eriiic

XLDnaute Barbatruc
Tu te mélanges entre Modeste et moi...
Mais pourquoi veux-tu ton propre système de numérotation des semaines qui aura forcément des failles (je sens arriver des semaines à plus de 7j et d'autres à moins de 7j), plutôt que d'utiliser le système ISO ?
Le seul reconnu en europe, et celui que tu retrouves sur le calendrier.
eric
 

sebastaupole

XLDnaute Nouveau
Tu te mélanges entre Modeste et moi...
Mais pourquoi veux-tu ton propre système de numérotation des semaines qui aura forcément des failles (je sens arriver des semaines à plus de 7j et d'autres à moins de 7j), plutôt que d'utiliser le système ISO ?
Le seul reconnu en europe, et celui que tu retrouves sur le calendrier.
eric
oui désolé je me suis mélangé en faite je connaissais déja la formule de modeste et du coup je part avec celle ci je pense que ça le ferra merci a tous
 

Discussions similaires

Réponses
5
Affichages
537