'exemple sur excel avec la date en C1 "01/02/2014"
'en C2 =JOUR($C$1+0)&CHOISIR(JOURSEM($C$1+0;2);"L";"M";"M";"J";"V";"S";"D")
'en C3 =JOUR($C$1+1)&CHOISIR(JOURSEM($C$1+1;2);"L";"M";"M";"J";"V";"S";"D")
'en C4 =JOUR($C$1+2)&CHOISIR(JOURSEM($C$1+2;2);"L";"M";"M";"J";"V";"S";"D")
'...
'
'
'ton code n'est pas tout à fais correcte,
'car le 1'février 2014 c'est Samedi et non pas Dimanche !
'pour les jours de sem c'est selon les réglages des paramètres dans windows !?
' premier jour Lundi ou Dimanche ?
'si Dimanche ici > UCase(Left(Format(I - 0, "ddd"), 1))
'si Lundi ici > UCase(Left(Format(I - 1, "ddd"), 1))
'ensuite pour les dates inf. au 01/03/1900 il faut ajouter+1 à la date!
' pour s'en convaincre il suffit de TAPER F5 ici
'(la raison pour laquelle j'utilise ma function FNbrDeJrMois())
Sub VerificationDate()
Dim Dat As Date
Dat = "01/01/1900" ' ici il donne 30 alors que c'est 31 !
MsgBox Day(WorksheetFunction.EoMonth(Dat, 0))
Dat = "01/02/1900" ' ici il donne 27 alors que c'est 28 !
MsgBox Day(WorksheetFunction.EoMonth(Dat, 0))
End Sub
Sub TonCodeModifie()
Dim I%, J$
For I = 1 To FNbrDeJrMois(Year(Date), Month(Date))
If I < 10 Then J = "0" & I Else J = I
MsgBox J & UCase(Left(Format(I - 1, "ddd"), 1))
'Range("B" & I + 6) = J & UCase(Left(Format(I - 1, "ddd"), 1))
Next
End Sub
Private Function FNbrDeJrMois(AnneeX, MoisX) As Integer
FNbrDeJrMois = Choose(MoisX, 31, 28 + (1 And IsDate("29/02/" & AnneeX)), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
'ou If AnneeX Mod 4 = 0 And (AnneeX Mod 100 <> 0 Or AnneeX Mod 400 = 0) Then Fev = 29 Else Fev = 28
End Function