Sub test()
Set CelDepart = Sheets("Feuil1").Range("A4")
MaSemaine = 1 * Mid(CelDepart.Value, 5, 2)
MonAnnee = 1 * Right(CelDepart.Value, 4)
MonLundi = DateSerial(MonAnnee, 1, 4) - Weekday(DateSerial(MonAnnee, 1, 4), 3) + 7 * (MaSemaine - 1)
For i = 0 To 6
CelDepart.Offset(i, 2).Value = MonLundi + i
Next i
End Sub
étendre vers le bas=DATE(CNUM(DROITE(A4;4));1;1)+(CNUM(STXT(A4;5;2)*7)-(JOURSEM(DATE(CNUM(DROITE(A4;4));1;1);2)-(LIGNE()-3)))
Hello ami @TooFatBoy, @famuUne proposition de macro :
VB:Sub test() Set CelDepart = Sheets("Feuil1").Range("A4") MaSemaine = 1 * Mid(CelDepart.Value, 5, 2) MonAnnee = 1 * Right(CelDepart.Value, 4) MonLundi = DateSerial(MonAnnee, 1, 4) - Weekday(DateSerial(MonAnnee, 1, 4), 3) + 7 * (MaSemaine - 1) For i = 0 To 6 CelDepart.Offset(i, 2).Value = MonLundi + i Next i End Sub
Oui, c'est "normal" : j'ai considéré que le numéro de la semaine était toujours sur deux caractères.N'y aurait-il pas un petit schmill dans la macro ?
Chez moi, j'ai des résultats bizarres si je mets par exemple en A4 : Sem.4-2023
Qu'est-ce que ça donne chez vous ?
Hello l'ami, bien sûr que ça marche, j'avais déjà testé.Si tu mets 04, je n'ai pas tester, mais je pense que ça devrait fonctionner.
Oui, ce serait mieux. Mais comme tu dis très justement, c'est à famu de voir s'il faut modifier ou non.Mais ce serait mieux de prévoir le cas direct dans la macro, non ?
Enfin, c'est à famu de voir ça, après tout, c'est pour lui
Bjr le filre
Bonjour même si je suis passé inaperçu visiblement
avec formule 1 chiffre ou 2 pour la semaine
le texte des jours en "B" aussi en formule
Regarde la pièce jointe 1157874
bonne journée a tous
=DATE(DROITE(A4;4);1;4)-JOURSEM(DATE(DROITE(A4;4);1;4);3)+7*STXT(A4;5;TROUVE("-";A4;5)-5)+EQUIV(B4;{"lundi";"mardi";"mercredi";"jeudi";"vendredi";"samedi";"dimanche"};0)-8