Se connecter avec
S'enregistrer | Connectez-vous
Résolu

VBA Connaitre le nombre de semaine dans une année

Dernière réponse : dans Programmation
Partagez

Bonjour à toutes et à tous,

Je souhaiterai faire une macro en VBA (sur Excel) pour réaliser un "calendrier" de semaine.

Pour la conception de la maco, je suis parti sur un userform qui demande à l'utilisateur de rentrer la date du début et de fin de la période souhaitée à l'aide de deux DTPickers. Suite à ça, une boucle while rentre les nombres des semaines, horizontalement, et à la queue leu leu (pas facile à placer celui là xD) jusqu'à ce que la cellule en cours d'écriture soit égale au DTPicker de la date de fin.

Pour info les cellules sont égales à (DTPicker1.value, "ww",, vbFirstFourDays)
& "Year " & format(DTPicker1.value, "yyyy",, vbFirstFourDays)
Par exemple : 32 Year 2013

Donc le problème, c'est comment faire si l'utilisateur a choisi comme date de début la dixième semaine de 2013 et la trentième semaine de 2014 pour terminer.

En gros, actuellement, la macro incrémente non-stop le nombre des semaines sans changer d'année. Donc la cellule en cours d'écriture ne sera jamais égale à la valeur du DTPicker2 et ça fera une boucle infinie.

Meilleure solution

Salut,

M'enfin vous deux, vous le faites exprès ?

  1. Dim d As Date
  2. d = DTPicker1.Value
  3. Do While d < DTPicker2.Value
  4. ...
  5. d = DateAdd("ww", 1, d)
  6. Loop


Et ton Format(), tu l'appliques sur d, pas sur DTPicker1.Value...
  • Philou250 a sélectionné cette solution comme la meilleure réponse