Bonjour,
Après avoir recherché dans ce forum une réponse à mon problème sans la trouver, et après avoir effectué plusieurs tests sans succès ; je me permet de soumettre ma problématique à la communauté :
Sujet : La réalisation d'un tableau de bord.
Problème : changement de la police de caractère dans une liste déroulante (ComboBox) d'un formulaire.
Dans le cadre de mon taff, je suis amené à développer un tableau de bord de suivi. Pour ce faire j'ai décidé de proposer aux utilisateurs la modification des données contenues dans ce tableau de bord (fichier excel) via un formulaire.
Dans ledit formulaire, je dispose pour chaque point à suivre d'un indicateur (sous forme d'un smiley en police Wingdings (lettres J,K,L)) et d'une tendance (Sous forme de flèches, également en police Wingdings (lettres ì, è, î)). Voilà pour la base.
Dans le formulaire de modification, j'ai donc disposé une liste déroulante de choix (ComboBox donc) pour l'indicateur et une pour la tendance ; chacune listant les trois valeurs qui leurs sont rattachées. Pour l'affichage en WingDings dans les listes déroulantes : pas de problème à ce niveau.
Le problème survient lorsque je souhaite modifier via VBA (dans la sub ComboBox_change() ) la police Wingdings en Arial via la propriété .Font de la ComboBox lorsque la valeur rentrée dans la liste n'est plus une des trois valeurs de la liste. (Par exemple lorsque l'utilisateur ne souhaite pas renseigner un indicateur et qu'il ne met rien ; ou qu'il met "N/A" par exemple. Afin de pouvoir lire le "N/A" en question il me faut bien changer la police en Arial.
Le bout de code que j'utilise pour ce faire fonctionne bien avec la combobox rattachée aux smileys (J,K,L). La police du contrôle passe bien de WingDings à Arial et réciproquement en fonction du contenu renseigné dans le contrôle. Par contre, et avec exactement le même bout de code adapté au contrôle de la tendance (lettres ì, è, î), je ne parvient pas à repositionner la police de mon contrôle sur Wingdings une fois que celle-ci est passée en Arial. Pourtant la propriété FontName est bien celle recherchée mais le contenu de la cellule indique désespérément ì, è, î plutôt que mes trois ch'tites flèches attendues.
En cherchant un peu, je me suis apperçu que lorsque je changeais les 3 lettres ì, è, î par J,K,L ou une lettre standard dans la palge nommée qui sert de référence au contenu de ma combobox, et que j'adapte la condition de mon If dans le code (en remplaçant les ì, è, î par J,K,L) (la condition If me servant à basculer de Arial à Wingdings et inversement), je retrouve mon changement automatique de police sans erreur.
J'en viens à me demander si ce problème ne serait pas dû aux caractères accentué peu ou mal gérés du fait de leur accentuation ...
Si vous pouviez me confirmer ou m'infirmer la chose, voire me conseilller une solution de contournement, vous me sortiriez d'un embaras certain.
Par avance merci
Salem
Partager