Accueil Boobaan.fr
Participez ! Donnez votre avis !

Comment lister les polices d’un document Word ?

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 :

  1. Enregistrer le document au format PDF.
  2. Ouvrer-le et aller dans le menu « Fichier » puis cliquer sur « Préférence… ».
  3. 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é.

Source

Poster un commentaire

Real Time Web Analytics