Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

23 réponses
Avatar
Apitos
Bonjour =E0 tous,

J'aimerais d=E9terminer les dates du d=E9but et fin des semaines de l'ann=
=E9e en cours.

Les semaines commencent par Mercredi er finissent par Mardi.

Voila un code pour d=E9terminer une semaine.

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

Comment le g=E9n=E9raliser pour avoir toutes les semaines de l=92ann=E9e ?

Merci.

10 réponses

1 2 3
Avatar
Apitos
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
'----------------------
Avatar
MichD
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
---------------------------------------------------------------
Avatar
Apitos
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 °$)!!
Avatar
MichD
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
---------------------------------------------------------------
Avatar
Apitos
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
Avatar
MichD
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
---------------------------------------------------------------
Avatar
Jacquouille
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
---------------------------------------------------------------
Avatar
Apitos
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.
Avatar
MichD
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
---------------------------------------------------------------
Avatar
Apitos
Salut,

Voila :

http://cjoint.com/?BFtwNqEaGmy
1 2 3