Après avoir rédigé mon mémoire de fin d’année, j’ai voulu l’envoyer à certaines personnes pour relecture, mais aussi pour avoir leur commentaire sur la mise en page.
Le problème c’est qu’ils n’avaient pas les polices d’écriture (appelé aussi font), et donc plusieurs images et paragraphes étaient décalés.
Mon mémoire était assez long et je ne voulais pas perdre mon temps à scruter toutes les pages à la recherche de chaque police.
Lorsqu’on partage un document Word, il ne faut pas oublier les polices.
Par défaut Microsoft Word remplace les polices que vous n’avez pas.
Voici 2 méthodes pour lister les polices (ou font) d’un document Word.
Première méthode :
- Enregistrer le document au format PDF.
- Ouvrer-le et aller dans le menu « Fichier » puis cliquer sur « Préférence… ».
- Vous pourrez voir la liste des polices utilisées dans l’onglet « Polices ».
Deuxième méthode :
- Afficher les macros (Onglet « Affichage » dans Word 2010 et 2013)
- Ajouter comme « ListFontsInDoc » nom de macro puis faites créer.
- Microsoft Visual Basic s’ouvre, puis entre « Sub ListFontsInDoc () » et « End Sub », ajouter le code suivant :
Dim FontList(199) As String Dim FontCount As Integer Dim FontName As String Dim J As Integer, K As Integer, L As Integer Dim X As Long, Y As Long Dim FoundFont As Boolean Dim rngChar As Range Dim strFontList As String FontCount = 0 X = ActiveDocument.Characters.Count Y = 0 ' For-Next loop through every character For Each rngChar In ActiveDocument.Characters Y = Y + 1 FontName = rngChar.Font.Name StatusBar = Y & ":" & X ' check if font used for this char already in list FoundFont = False For J = 1 To FontCount If FontList(J) = FontName Then FoundFont = True Next J If Not FoundFont Then FontCount = FontCount + 1 FontList(FontCount) = FontName End If Next rngChar ' sort the list StatusBar = "Sorting Font List" For J = 1 To FontCount - 1 L = J For K = J + 1 To FontCount If FontList(L) > FontList(K) Then L = K Next K If J <> L Then FontName = FontList(J) FontList(J) = FontList(L) FontList(L) = FontName End If Next J StatusBar = "" ' put in new document Documents.Add Selection.TypeText Text:="There are " & _ FontCount & " fonts used in the document, as follows:" Selection.TypeParagraph Selection.TypeParagraph For J = 1 To FontCount Selection.TypeText Text:=FontList(J) Selection.TypeParagraph Next J
- Après quelques secondes un document Word s’ouvre avec la liste des polices. (Sur un document de 1 100 pages la macro dure environ 45 minutes sur un document de 5 pages cela prend moins de 5 minutes)
Il ne vous reste plus qu’à sélectionner chaque police et à les envoyer avec votre document.
Lors de l’enregistrement, vous pouvez aussi incorporer les polices directement dans le document, comme ça pas besoin de partager les polices, mais à chaque fois j’ai eu des problèmes avec cette fonctionnalité.
Le mieux est de toujours avoir les polices avec le document, ainsi vous pouvez les réutiliser à votre gré.