Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Vba : trier les polices

3 réponses
Avatar
Jac
Bonjour à tous,

la macro suivante affiche dans un message la nom de chaque police du
système. J'aimerais qu'elles s'affichent en ordre alphabétique. Est-ce
possible ?

Sub LISTE_DES_POLICES()
For Each POLICE In FontNames
MsgBox POLICE, , " LISTE DES POLICES"
Next POLICE
End Sub

Merci d'avance.

Jac

3 réponses

Avatar
Geo
Bonjour Jac
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]
Bonjour à tous,

la macro suivante affiche dans un message la nom de chaque police du système.
J'aimerais qu'elles s'affichent en ordre alphabétique. Est-ce possible ?



Oh ben oui,
Suffit de mettre les noms dans un tableau et trier le tableau.
Mais il y a des logiciels qui font ça très bien, avec exemples de texte
à l'appui, par exemple -au hasard - Nexus Font
http://xiles.net/programs/

--
A+
Avatar
Jac
Geo a écrit :
Bonjour Jac
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ] Bonjour à tous,

la macro suivante affiche dans un message la nom de chaque police du
système. J'aimerais qu'elles s'affichent en ordre alphabétique. Est-ce
possible ?



Oh ben oui,
Suffit de mettre les noms dans un tableau et trier le tableau.



Aurais-tu un exemple de mise en tableau et de tri ?

Mais il y a des logiciels qui font ça très bien, avec exemples de texte à
l'appui, par exemple -au hasard - Nexus Font
http://xiles.net/programs/


Avatar
Geo
Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Aurais-tu un exemple de mise en tableau et de tri ?



Pour mettre en tableau :
Déclaration
Dim MonTableau() as string
dim i as integer

Dimensionnement
redim Montableau( fontnames.count)

Dans la boucle affectation des noms
montableau(i) = police.name
i = i +1


Pour le tri, la méthode la plus simple à programmer :

for i = 0 to fontnames.count -1
for j= i+1 to fontnames.count
if MonTableau(i) < montableau ( j)
V = Montableau(i)
MonTableau(i) = montableau (j)
MonTableau(j) = v
end if
next j
next i

--
A+