Vous saisissez une date au format classique court (ex. : 25/9/2015) et vous souhaitez, via un raccourci clavier, la convertir en toutes lettres (ex. : vingt-cinq septembre deux mille quinze). Pour cela, la macro est indispensable. Il suffira ensuite de lui affecter un raccourci clavier. Voir ici comment procéder.

Voici la macro sachant qu'un tel format nécessite d'entrer trois fois la date afin d'obtenir les trois parties formatées. Avant de lancer la macro, saisissez votre date et sélectionnez-la.

 

Sub date_lettres()


'macro écrite par m@rina
Dim madate As String
    madate = Selection
    With Selection
    .Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= "MERGEFIELD " & madate & "\@ dd \* cardtext"
    .InsertAfter Text:=Space(1)
    .MoveRight 1
    .Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= "MERGEFIELD " & madate & "\@ MMMM"
    .InsertAfter Text:=Space(1)
    .MoveRight 1
    .Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= "MERGEFIELD " & madate & "\@ yyyy \* cardtext"
    End With
    ActiveWindow.View.ShowFieldCodes = False
End Sub

 

NB : N'espérez pas obtenir, par exemple, le mot "Premier" pour le premier jour du mois. Word n'est pas aussi intelligent et le champ ne fait que convertir des nombres.

N'espérez pas non plus obtenir des spécificités de type français de Belgique (ou d'ailleurs) telles que septante, nonante.... Word ne connaît pas non plus.

On peut toujours convertir les champs en texte (Ctrl+Maj+F9) et faire les corrections manuellement.