Option Explicit
Sub premSem()
Dim dateDebut As Date, dateFin As Date
Dim noAnnee%, noJourPremierAn%, d As Date
noAnnee = Val(InputBox("N° de l’année ?"))
If noAnnee < 1900 Or noAnnee > 2050 Then Exit Sub
noJourPremierAn = Val(InputBox("N° jour du 1er janvier ?"))
If noJourPremierAn = 0 Or noJourPremierAn > 7 Then Exit Sub
dateDebut = "1/1/" & noAnnee 'avant, oubli 2ème slash « / »
d = dateDebut + 8 - noJourPremierAn
If noJourPremierAn > 4 Then
dateDebut = d: dateFin = dateDebut + 7
Else
dateFin = d
End If
MsgBox "Date de début : " & dateDebut & vbNewLine _
& "Date de fin : " & dateFin
End Sub
Option Explicit
Sub afficherSemaines()
Dim dateDebut As Date, dateFin As Date
Dim noAnnee%, noJourPremierAn%, d As Date
Dim numSemaine%
noAnnee = Val(InputBox("N° de l’année ?"))
If noAnnee < 1900 Or noAnnee > 2050 Then Exit Sub
noJourPremierAn = Val(InputBox("N° jour du 1er janvier ?"))
If noJourPremierAn = 0 Or noJourPremierAn > 7 Then Exit Sub
numSemaine = 1
dateDebut = "1/1/" & noAnnee 'avant, oubli 2ème slash « / »
d = dateDebut + 8 - noJourPremierAn
If noJourPremierAn > 4 Then
dateDebut = d: dateFin = dateDebut + 7
Else
dateFin = d
End If
Do
Debug.Print numSemaine & " - " & dateDebut
dateDebut = dateFin + (numSemaine - 1) * 7
numSemaine = numSemaine + 1
Loop Until Year(dateDebut) > noAnnee
End Sub
Re
Mathilde22
Juste une question au passage
Est-ce que les derniers codes que j'ai proposés fonctionnent sur un Mac?
(je parle de ceux des messages#58 et #59)
Do .. Loop
Sub Pour_Infos()
Dim dateDebut As Date
noAnnee = InputBox("N° de l’année ?", "test", Year(Date))
dateDebut = "1-" & noAnnee
MsgBox Format(dateDebut, "dddd dd mmmm yyyy")
End Sub
dateDebut = "1-" & noAnnee
dateDebut = "1/1/" & noAnnee