NUMERO SEMAINE VB
noobduvb
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour !!!!!!!!!!!!!!!!!!!!!!!
voilà je travail sur un petit bou de programme pour connaitre mon numéro de semaine à l'aide d'une date
j'ai fait quelque recherche, jai vu que je n'étais pas le seul a me pencher sur le problème!
mais un doute me viens ! suite a plusieur algo proposer par d'autre utilisateur
éclairé moi !!!!! :p
ma question est donc : faut t'il ou pas prendre en compte la semaine 53
par exemple le 29/12/2003 fait partie de la semaine 52 , 53 ou de l 1er semaine de 2004
voilà je travail sur un petit bou de programme pour connaitre mon numéro de semaine à l'aide d'une date
j'ai fait quelque recherche, jai vu que je n'étais pas le seul a me pencher sur le problème!
mais un doute me viens ! suite a plusieur algo proposer par d'autre utilisateur
éclairé moi !!!!! :p
ma question est donc : faut t'il ou pas prendre en compte la semaine 53
par exemple le 29/12/2003 fait partie de la semaine 52 , 53 ou de l 1er semaine de 2004
Configuration: Windows XP Firefox 1.5.0.1
12 réponses
-
bonsoir lermite222,
non il est vrai que pour l'instant je n'ais pas besoin de met jours ouvrés ( lundi à vendredi) et pas ouvrables ( lundi à samedi)
car au début je voulais faire mon calendrier par jours et donc mes jours ouvrés!
car aprés avoir créer mon calendrier je voudrais distribuer des charges que jai calculer par jours
n'ésité pas à demander si vous trouver pas mon explication trés claire
merciiii -
Bonjour,
Il n'y a que 52 semaines dans une année.
Pour éviter la semaine 53, normalement ont ne commence à compté les semaines que si le 1er lundi est < que le 4ém jour.
Et au bout ont met une condition Si >52 then WE = 52.
A+ -
je mexplique un peu mieu !
je voudrais avoir un calendrier semaine ( excel) qui commence selon la semaine actuelle qui s'etalle sur 3-4 années
ex nous somme le 28 mai soit semaine 22 je voudrais que la semaine prochaine avoir la semaine 23 ( j'ai besoin que des jours ouvrés, donc je pense qu'il faut que je jou avec les vendredi de chaque semaine )
2008 2009 ect
________________________________________________________________
S22 | S23 | S24 | S25 ect.....S52. S1 | S2 | ect
et avoir la semaine prochaine avoir
2008 2009 ect
________________________________________________________________
S23 | S24 | S25 | S26 ect.....S52. S1 | S2 | ect
:)
merci a l'avance pour tout -
Behhhh alors.. juste faire une boucle qui tourne sur tes cellules et qui inscrive S22 : S23 : S24 etc jusque 52 et tu recommence à 1 pour les années suivantes.. je vois pas où est le problème.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re tout le monde xD
bah voila ce que j'ai fait :
'**
'Création du calendrier
'**
'
Windows("MAMACRO.xls").Activate
Worksheets("Feuil1").Activate
dt = Format(Date, "dd - mm - yyyy")' je prend en référence ma date d'aujourdhui
semaineactuelle = Format(dt - 2, "ww", vbSaturday)'je calcule dans quelle semaine nous nous trouvons
Worksheets("Feuil1").Cells(7, 36).Value = semaineactuelle ' je commence mon calendrier à la semaine actuelle
Cells(7, 36).Interior.ColorIndex = 8
For J = 37 To 200
semaineactuelle = semaineactuelle + 1 ' a chaque changement de collone je change de semaine
Worksheets("Charges techniciens").Cells(7, J).Value = semaineactuelle
Cells(7, J).Interior.ColorIndex = 8
If Worksheets("Charges techniciens").Cells(7, J).Value > "52" Then
semaineactuelle = 1
Worksheets("Charges techniciens").Cells(7, J).Value = semaineactuelle
Cells(7, J).Interior.ColorIndex = 4
End If
Next
mais j'ai un petit probleme je voudrais qu'a chaque changement d'année ( >52 semaine ) changé ma couleur des cellule pour différencier mes années et repartir de 1 jusqu'a 52 !
ce qu'i n'est pas le cas dans ma boucle
je commence bien à la semaine 22 jusqu'à 52 pui aprés jai des des semaine de 5 et mon changemen de couleur de se fait que sur la semaine 1
pouvais vous m'éclairé
merci merci -
Mettre ta couleur en variable...
Dim Coul as integer
Coul=4
....
....
If Worksheets("Charges techniciens").Cells(7, J).Value > "52" Then
semaineactuelle = 1
coul = coul + 1 'ou faire un select case pour avoir d'autre couleurs
Worksheets("Charges techniciens").Cells(7, J).Value = semaineactuelle
Cells(7, J).Interior.ColorIndex = coul
End If
-
merci lermite222,
a vrai dire la couleur n'est pas importante !
ma 1er année se passe bien
mais celles qui suivent sont des année de 5 semaine ....
encore meci -
j'ai trouvé le probleme était le 52 entre ""
voilà mon code
'**
'Création du calendrier
'**
'
Windows("MAMACRO.xls").Activate
Worksheets("Feuil1").Activate
Dim coul As Integer
coul = 6
semaineactuelle = TrouverNuméroSemaine(dt)'je fait appel à une fonction et "dt" est ma date du jour
Worksheets("Feuil1").Cells(7, 36).Value = semaineactuelle
Cells(7, 36).Interior.ColorIndex = coul
For J = 37 To 200 'j'ai pri 200 car je voulais m'étallé sur au moins 2-3ans
semaineactuelle = semaineactuelle + 1
Worksheets("Feuil1").Cells(7, J).Value = semaineactuelle
Cells(7, J).Interior.ColorIndex = coul
If Worksheets("Feuil1").Cells(7, J).Value > 52 Then
semaineactuelle = 1
coul = coul + 1
Worksheets("Feuil1").Cells(7, J).Value = semaineactuelle
Cells(7, J).Interior.ColorIndex = coul
End If
Next
n'ésité pas à critiqué mon code ! je pense qu'il a moyen de l'amélioré! voilà -
Le code est bien fait.
2 petite remarques
Indenté ton code le rend plus compréhensible, aussi bien pour la lecture que pour un éventuel déboggage.Sub TaMacro() Dim coul As Integer Windows("MAMACRO.xls").Activate Worksheets("Feuil1").Activate coul = 6 'je fait appel à une fonction et "dt" est ma date du jour semaineactuelle = TrouverNuméroSemaine(dt) Worksheets("Feuil1").Cells(7, 36).Value = semaineactuelle Cells(7, 36).Interior.ColorIndex = coul 'j'ai pri 200 car je voulais m'étallé sur au moins 2-3ans For j = 37 To 200 semaineactuelle = semaineactuelle + 1 Worksheets("Feuil1").Cells(7, j).Value = semaineactuelle Cells(7, j).Interior.ColorIndex = coul If Worksheets("Feuil1").Cells(7, j).Value > 52 Then semaineactuelle = 1 coul = coul + 1 Worksheets("Feuil1").Cells(7, j).Value = semaineactuelle Cells(7, j).Interior.ColorIndex = coul End If Next j End Sub
Sur les Next, bien que ce ne soit pas obligatoire, ajouter l'identifiant du For, sa simplifie quand
il y a plusieur For/Next imbriqué.
Bonne continuation.
A+ -
-
dans l'éditeur de code d'excell tu emploi les tabulations.
Et dans l'éditeur texte de CCM tu sélectionne la partie code et tu clic sur le bouton 'Conserver la mise en forme' le bouton blanc dans la barre d'outils juste au dessus de l'éditeur.
A+ -
Dans l'exemple que tu donne ou intervienent les jours ouvrables ? je comprend pas bien.
Parce que pour les semaines y à que de les inscrire ?