IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Liste des Polices de Caractères dans Combobox [XL-2007]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Liste des Polices de Caractères dans Combobox
    Bonjour à tous,

    Comme le titre l'indique je cherche à créer la liste des noms des polices de caractères disponibles sous office puis de la mettre dans un combobox.

    Une idée, parceque là je sèche complètement ?

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Est-ce que tu cherches la liste des toutes les polices installées dans Windows ou la liste des polices utilisées dans un documents ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Je cherche la liste des polices windows

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    En VBA, ça ne va pas être facile. Le plus difficile sera de trouver dans quelle bibliothèque d'objets se trouve cette collection.
    En tout cas, ce n'est pas dans la bibliothèque Excel.
    Tu auras peut-être plus de chance en posant la question dans la rubrique "Général Visual Basic".

    A moins que ton but soit simplement de permettre à l'utilisateur de choisir une police de caractère et, dans ce cas, peut-être que l'appel à la fenêtre Font (Diaglogs(xlDialogFont)) suffirait.
    https://docs.microsoft.com/fr-FR/off.../excel.dialogs
    https://docs.microsoft.com/fr-FR/off...lbuiltindialog
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Les polices sont dans le dossier : Windows - Fonts

    donc avec la fonction DIR de VBA tu dois pouvoir lister les fichiers de polices de caractères

    ceci n'est qu'une idée

    A+
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  6. #6
    Membre habitué
    Homme Profil pro
    Employé administratif
    Inscrit en
    Mars 2018
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Mars 2018
    Messages : 94
    Points : 146
    Points
    146
    Par défaut
    Bonjour,

    Voici du code qui pourrait te servir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Dim ligne
    Sub arborescence()
      Application.ScreenUpdating = False
      racine = "C:\Windows\Fonts"
      If racine = "" Then Exit Sub
      Range("A1:E20000").ClearContents
      Range("A1").Select
      Set fs = CreateObject("Scripting.FileSystemObject")
      Set dossier_racine = fs.GetFolder(racine)
      ligne = 1
      Lit_dossier dossier_racine, 1
    End Sub
    Sub Lit_dossier(ByRef dossier, ByVal niveau)
       Cells(ligne, 1) = String(4 * (niveau - 1), " ") & "[" & dossier.Path & "]"
       Cells(ligne, 1).Interior.ColorIndex = 36
       ligne = ligne + 1
       For Each f In dossier.Files
         Cells(ligne, 1) = String(4 * niveau, " ") & f.Name
         Cells(ligne, 1).Interior.ColorIndex = xlNone
         ligne = ligne + 1
       Next
       For Each d In dossier.SubFolders
         Lit_dossier d, niveau + 1
       Next
    End Sub
    Source

    Bien à toi.

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans Windows/Font se trouve les fichiers de police mais pas les noms de polices.

    Il y a au moins deux inconvénients majeur à tirer une liste depuis ce répertoire.
    D'abord, beaucoup de fichiers ont des noms qui sont différents du nom de la police. Le nom de fichier est souvent un abrégé mais parfois, ça n'a même pas de rapport (par exemple "TT1018M" pour "Freehand521").
    Ensuite, le nombre de fichier est plus important que le nombre de police car certaines polices ont plusieurs fichiers pour permettre les options Gras, Italique, light, condensé, etc.

    La seule façon d'avoir la vraie liste de police est d'aller piocher dans la base de registres.
    Mais ça, en VBA, ça ne doit pas être simple (ou plutôt, ça n'est pas très documenté).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    @ Menhir

    Je suis d'accord sur le principe mais quand je vais sous WINDOWS-Fonts (Widows 7) j'ai ceci

    Nom : Capture - list font.JPG
Affichages : 1521
Taille : 196,7 Ko

    Pourquoi ne pourait-on pas récupérer ce "Nom" que j'ai en première colonne ?


    A+
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Igloobel Voir le message
    Je suis d'accord sur le principe mais quand je vais sous WINDOWS-Fonts (Widows 7) j'ai ceci
    Ce que tu vois-là est une interprétation de l'Explorateur Windows.
    Depuis les versions postérieures à XP, l'explorateur présente de manière différente le contenu pour certains répertoires, entre autre pour Windows/Font.
    Ce que tu montres, ce ne sont pas les nom de fichiers mais les noms de polices.

    Pourquoi ne pourait-on pas récupérer ce "Nom" que j'ai en première colonne ?
    Parce que la fonction Dir() que tu conseille ne récupèrera pas le nom de police mais le nom de fichier.

    Dans ton explorateur Windows, fais :
    Organiser > Disposition > Coche "Barre de menus"
    Menu Affichage > Choisir les détail > Coche "Noms de fichiers de police"

    Une nouvelle colonne apparait qui présente les noms de fichiers. Tu peux voir les différences avec les noms de polices.

    Autre méthode, tu vas dans l'invite de commande, la fenêtre MS-DOS (si tu ne l'as pas sur ton bureau, tu peux y accéder dans le groupe "Accessoires" du menu démarrer).
    Tu fais cd \Windows\Fonts pour te placer dans le répertoire des polices puis dir pour avoir la liste des fichiers.
    Tu verras que c'est très différent de ce qu'on obtient dans la fenêtre classique de Windows.

    Mais le plus simple pour t'en convaincre est que tu lances cette petite macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ListFont()
       Dim nom As String, Ligne As Long
       Ligne = 1
       nom = Dir("\windows\fonts\*.*")
       While Len(nom) > 0
          Cells(Ligne, 1).Value = nom
          Ligne = Ligne + 1
          nom = Dir()
       Wend
    End Sub
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Problème Résolu par l'objet "CommandBars"
    J'ai fini par trouver:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Sub Polices_listing()
     
    Dim i As Long
    Dim TabPolice() As String
     
     
    'Barre d'outils
    Set FontList = Application.CommandBars("Formatting").FindControl(ID:=1728)
     
     
    'Mettre le nom des polices dans un tableau
    ReDim TabPolice(FontList.ListCount)
     
    For i = 1 To FontList.ListCount
        TabPolice(i) = FontList.List(i)
    Next
     
     
    'Mettre le nom des polices sur une feuille
    Range("E:E").Clear
     
    For i = 1 To FontList.ListCount
        Worksheets("Stock").Cells(i, 5).Value = TabPolice(i)
    Next
     
     
     
    End Sub

  11. #11
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je ne comprends pas l'intérêt de passer par la variable TabPolice au lieu d'utiliser sinplement FontList dans la dernière boucle ???
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/12/2013, 18h19
  2. Réponses: 4
    Dernier message: 05/10/2012, 16h39
  3. Police de caractères dans liste déroulante
    Par brazilia28 dans le forum 4D
    Réponses: 2
    Dernier message: 27/04/2007, 09h17
  4. Réponses: 11
    Dernier message: 28/02/2007, 12h18
  5. Adresse des polices de caractères dans la RAM video ?
    Par Anonymous dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 27/05/2002, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo