Déterminer les dates de toutes les semaines de l’année

Le
Apitos
Bonjour à tous,

J'aimerais déterminer les dates du début et fin des semaines de l'ann=
ée en cours.

Les semaines commencent par Mercredi er finissent par Mardi.

Voila un code pour déterminer une semaine.

'--
date_debut = Date - Application.Choose(Application.Weekday(Date, 1), =
4, 5, 6, 0, 1, 2, 3)
date_fin = date_debut + 6
MsgBox "DateBegin :" & date_debut & ", DateEnd : " & date_fin
'--

Comment le généraliser pour avoir toutes les semaines de l’année ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Apitos
Le #24561941
Une solution :

'----------------------
Sub test()
Dim x As Date, Result As String
Dim LastLg As Long, n As Byte
n = 1
[E2].CurrentRegion.ClearContents
[E1] = "N° Semaine": [F1] = "Du": [G1] = "Au"
For x = "1/1/" & Year(Now) To "31/12/" & Year(Now)
If Format(x, "dddd") = "mercredi" Then
LastLg = [E65000].End(xlUp).Row + 1
Range("E" & LastLg) = n
Range("F" & LastLg) = Format(x, "dd.mm.yyyy")
'Range("F" & LastLg).NumberFormat = "dd.mm.yyyy"
Range("G" & LastLg) = Format(x + 6, "dd.mm.yyyy")
n = n + 1
End If
Next
End Sub
'----------------------
MichD
Le #24572111
Bonjour,


Cette formule te retourne le premier jeudi à partir d'un mois donné :

Dans la cellule A1 = 01/01/2012

=$A$1-JOUR($A$1)+8-JOURSEM($A$1-JOUR($A$1)-4)

Si tu veux connaître la date du premier lundi du mois de janvier

=$A$1-JOUR($A$1)+8-JOURSEM($A$1-JOUR($A$1)-4)-3

à partir de cette date, tu ajoutes 7 pour déterminer le début de toutes les semaines.
Tu tires la formule sur ta plage de cellules...


MichD
---------------------------------------------------------------
Apitos
Le #24573541
Bonsoir Denis,

Je n'ai encore testé les formules, mais le code vba me sert de savoir les numéros de semaines.

parce que j'en ai besoin pour activer les dates de la semiane en cours dans ComboBox1 et ComboBox2

Par exemple pour ce jour le 18/06/2012, le N° de semaine$, les deux v aleurs activent dans mes ComboBox seront les suivantes :

'-----------------------------------------------
ComboBox1.ListIndex = 23 ' Affiche le 13.06.2012
ComboBox2.ListIndex = 23 ' Affiche le 19.06.2012
'-----------------------------------------------

Et cela selon les dates des semaines présentes :
N° Semaine Du Au
....
20 16.05.2012 22.05.2012
21 23.05.2012 29.05.2012
22 30.05.2012 05.06.2012
23 06.06.2012 12.06.2012
24 13.06.2012 19.06.2012
25 20.06.2012 26.06.2012
26 27.06.2012 03.07.2012
27 04.07.2012 10.07.2012
28 11.07.2012 17.07.2012
29 18.07.2012 24.07.2012
30 25.07.2012 31.07.2012
....

Mais je n'arrive pas à déterminer le numéro de la semaine en cours (N °$)!!
MichD
Le #24573761
Une formule de Daniel Maher


Compatible avec le calendrier 1900 et 1904 d'Excel - Norme européenne
Retourne le numéro de la semaine de la date contenue en B3.

=ENT((B3-(DATE(ANNEE(B3-JOURSEM(B3-1)+4);1;3)-JOURSEM(DATE(ANNEE(B3-JOURSEM(B3-1)+4);1;3)))+5)/7)



MichD
---------------------------------------------------------------
Apitos
Le #24574031
J'ai essayé cette formule :

=ENT((J8-(DATE(ANNEE(J8-JOURSEM(J8-1)+4);1;3)-JOURSEM(DATE(ANNEE(J8-JOURS EM(J8-1)+4);1;3)))+5)/7)

Et ça me donne une erreur : #VALEUR!

La forme de la date est : 04.01.2012
MichD
Le #24575001
Cette formule fonctionne correctement :

Si en A1, tu as une date dans un format reconnu par Excel
=ENT((A1-(DATE(ANNEE(A1-JOURSEM(A1-1)+4);1;3)-JOURSEM(DATE(ANNEE(A1-JOURSEM(A1-1)+4);1;3)))+5)/7)

Est-ce que le format de la cellule a un format "DATE" ?
Si tu élargis la colonne, est-ce que la date s'affiche à droite ou à gauche dans la
cellule?

Si tu double-cliques la cellule, est-ce que la formule fonctionne lorsque tu sors de la
cellule?

Il n'y a aucune raison pour que cette formule ne fonctionne pas!





MichD
---------------------------------------------------------------
Jacquouille
Le #24575111
Ben, chez moi, l'Amérique, le Canada et la Belgique sont d'accord.
Dans la cel, j'ai mis = aujourdhui(), pour être on ne peut plus certain.
Et qu'est-ce que Excel me dit ? ---> 25
Ah, le brave. -))

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
jrpl22$rk9$

Cette formule fonctionne correctement :

Si en A1, tu as une date dans un format reconnu par Excel
=ENT((A1-(DATE(ANNEE(A1-JOURSEM(A1-1)+4);1;3)-JOURSEM(DATE(ANNEE(A1-JOURSEM(A1-1)+4);1;3)))+5)/7)

Est-ce que le format de la cellule a un format "DATE" ?
Si tu élargis la colonne, est-ce que la date s'affiche à droite ou à gauche
dans la
cellule?

Si tu double-cliques la cellule, est-ce que la formule fonctionne lorsque tu
sors de la
cellule?

Il n'y a aucune raison pour que cette formule ne fonctionne pas!





MichD
---------------------------------------------------------------
Apitos
Le #24575731
Bonsoir,


Est-ce que le format de la cellule a un format "DATE" ?



Il n’était pas

Et même en le faisant, ça n'a rien changé.

Si tu élargis la colonne, est-ce que la date s'affiche à droite ou à gauche dans la
cellule?




A gauche

Si tu double-cliques la cellule, est-ce que la formule fonctionne lorsque tu sors de la
cellule?




Non.
MichD
Le #24575771
Publie ton fichier en utilisant l'adresse cjoint.com

Seulement une toute partie du fichier est suffisant pour illustrer ton problème.

Tu nous transmets ici l'adresse que tu auras obtenue.



MichD
---------------------------------------------------------------
Publicité
Poster une réponse
Anonyme