Pour certains documents, il est utile d’avoir une liste de dates que vous pouvez utiliser comme base de votre travail. Par exemple, vous devrez peut-être créer un rapport qui répertorie toutes les dates entre maintenant et la fin de l’année, avec le nom d’une personne ou un nom de projet à droite de la date.

Le point de départ, bien sûr, est d’obtenir la liste des dates.

Vous pouvez aborder la génération de la liste de plusieurs manières. Une méthode simple consiste à utiliser Excel en conjonction avec Word. La fonction de remplissage automatique d’Excel facilite la génération d’une liste de dates. Une fois que vous avez la liste dans Excel, vous pouvez ensuite la copier et la coller dans le document Word, ou vous pouvez utiliser le publipostage pour fusionner les dates dans le document (si cette approche convient à vos besoins).

Si vous préférez ne pas utiliser Excel pour une raison quelconque, la meilleure solution est d’utiliser une macro. La macro suivante crée très rapidement une liste de toutes les dates de l’année 2015:

Sub PrintYearDays()

Dim DateToday As Date     Dim T As Integer

'Because the date is going to be changed, save it     DateToday = Date     Date = #12/31/2014#

For T = 1 To 365         Selection.TypeText Text:=Format(Date + T, _           "mmmm dd yyyy")

Selection.TypeParagraph     Next T

'Restore today's date     Date = DateToday End Sub

Notez que la macro fonctionne en réinitialisant la date sur votre système.

La date actuelle du jour est stockée dans la variable DateToday, puis la date est réinitialisée à la date de début de votre plage. Si vous souhaitez que la macro fonctionne pour une autre plage de dates, modifiez simplement la date de début, ainsi que la valeur de fin de la boucle For …​ Next.

Si vous avez besoin de créer des listes de dates et que vous ne savez jamais exactement quelles seront les dates de début et de fin de la plage, une approche macro différente est plus logique. La macro suivante vous demande à la fois une date de début et une date de fin:

Sub ListDates()

Dim ListDate as Date     Dim StartDate As Date     Dim EndDate As Date     Dim Repeats As Integer

'Gets user input     StartDate = InputBox("Please enter the starting date.", _       "Start Date", "Start Date")

EndDate = InputBox("Please enter the ending date.", _       "End Date", "End Date")



'Enters the start date in the document     Selection.TypeText Text:=Format(StartDate, _       "dddd, MMMM dd, yyyy")

Selection.TypeText (vbCr & vbLf)



'Determines the number of dates to print     Repeats = DateDiff("d", StartDate, EndDate)



'Loops to print the list of dates     For i = 1 To Repeats         ListDate = DateAdd("d", i, StartDate)

Selection.TypeText Text:=Format(ListDate, _           "dddd, MMMM dd, yyyy")

Selection.TypeParagraph     Next i End Sub

Les variables StartDate et EndDate, définies par votre entrée, déterminent combien de fois la boucle For …​ Next est répétée.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (3864) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:

link: / wordribbon-Generating_a_List_of_Dates [Génération d’une liste de dates].