Liste des polices utilisées
Il y a plusieurs solutions. Envoici quelques unes de différents auteurs :
sub listePolices() 'Laurent Longre MPFE
Dim Arr, i As Integer
Application.ScreenUpdating = False
Workbooks.Add
With Application.CommandBars.FindControl(ID:\=1728)
ReDim Arr(1 To .ListCount, 1 To 1)
For i = 1 To UBound(Arr)
Arr(i, 1) = .List(i)
Cells(i, 2).Font.Name = Arr(i, 1)
Next i
End With
With Range("A1").Resize(i - 1)
.Value = Arr
.Offset(0, 1) = "Gloire à Toi, ô Immortelle Zaza !"
End With
Columns("A:B").AutoFit
end subUtilise le code ci-dessous, à recopier dans un module standard. Seules les feuilles de calcul sont examinées. Si tu veux inclure les polices d'éventuelles feuilles graphiques, il faudra adapter
sub test() 'Frédéric Sigonneau MPFE PolicesUtilisees ActiveWorkbook end sub sub PolicesUtilisees(Wbk As Workbook) Dim cell As Range, coll As New Collection Dim Sht As Worksheet, Msg$, i& For Each Sht In Wbk.Worksheets For Each cell In Sht.UsedRange If Not IsEmpty(cell) Then 'Au cas où plusieurs polices dans la même cellule For i = 1 To cell.Characters.Count On Error Resume Next coll.Add cell.Characters(i, 1).Font.Name, _ cell.Characters(i, 1).Font.Name On Error GoTo 0 Next i End If Next cell Next Sht Msg = "Polices utilisées dans '" & Wbk.Name & "' : " & vbLf & vbLf For i = 1 To coll.Count Msg = Msg & coll(i) & vbLf Next i MsgBox Msg, , "Polices de caractères" end sub
Tu trouveras la police utilisée dans la barre d'outils standard (le menu déroulant police) en sélectionnant le caractère en question.
Ou, pour éviter de te balader dans toutes les cellules de ta feuille :
sub Roxane() 'ChrisV
For Each cell In ActiveSheet.UsedRange
If Not IsEmpty(cell) Then
MsgBox cell.Font.Name
End If
Next
MsgBox "Y'en à plus..."
end subMais s'il y a plusieurs polices dans la même cellule, ça plante... Alors une soluce encore plus complète :
sub Roxane_modif()
For Each cell In ActiveSheet.UsedRange
If Not IsEmpty(cell) Then
cell.Select
'On explore chaque caractère un par un
For i = 1 To Len(cell.Value)
'On garde une trace de l'ancienne couleur de caractère
a = cell.Characters(i, 1).Font.Color
'On colorie en rouge le caractère courant...pour ne pas se perdre...
cell.Characters(i, 1).Font.Color = 255
MsgBox cell.Characters(i, 1).Font.Name
cell.Characters(i,
1).Font.Color = a
Next i
End If
Next
MsgBox
"Y'en à plus..."
end subAuteurs : Laurent Longre, Frédéric Sigonneau, ChrisV
Mots clefs associés à cette page : fonte, police
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
