Modification du format des dates existantes (Microsoft Word)
Aileen travaille avec de nombreux documents dont la date est au format numérique, comme le 22/09/12. Elle doit convertir ces dates dans un format différent, en particulier le 22 septembre 2012. Elle se demande s’il existe un moyen simple de faire le changement sans avoir à retaper chaque date.
La réponse dépend, en grande partie, de la nature de la date à laquelle vous changez. Les dates dans un document Word peuvent être du texte simple ou un champ. Vous pouvez savoir si la date est un champ en déplaçant simplement le point d’insertion quelque part dans la date. S’il s’agit d’un champ, la date entière doit être ombrée en gris clair une fois que le point d’insertion se trouve dans la date.
Si la date est un champ, vous pouvez alors cliquer avec le bouton droit sur la date et choisir Modifier le champ dans le menu contextuel résultant. Vous pouvez ensuite modifier le champ, notamment en sélectionnant un format de date différent dans la liste Propriétés du champ.
Si la date est du texte normal (pas un champ), vous devez rechercher une solution différente. Il est possible de parcourir le document et de retaper manuellement toutes les dates, mais Aileen a déjà découvert qu’une telle approche est fastidieuse. C’est là qu’une macro peut être utile: pour remédier à l’ennui en faisant par programme ce que vous feriez autrement à la main.
La macro suivante parcourt un document en recherchant toutes les dates au format m / j / aaaa. (Il peut y avoir un ou deux chiffres pour le mois ou le jour, mais il doit y avoir quatre chiffres pour l’année.) Si une date correspondant à ce modèle est trouvée, elle est convertie au format mmmm j, aaaa.
Sub GetDateAndReplace() Dim FoundOne As Boolean Selection.HomeKey Unit:=wdStory, Extend:=wdMove FoundOne = True ' loop at least once Do While FoundOne ' loop until no date is found With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "([0-9]{1,2})[/]([0-9]{1,2})[/]([0-9]{4})" .Format = True .Forward = True .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceNone ' check the find to be sure it's a date If IsDate(Selection.Text) Then Selection.Text = Format(Selection.Text, "mmmm d, yyyy") Selection.Collapse wdCollapseEnd Else ' not a date - end loop FoundOne = False End If Loop End Sub
_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 (12197) s’applique à Microsoft Word 2007 et 2010. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici:
link: / word-Changing_the_Format_of_Existing_Dates [Modification du format des dates existantes]
.