Macros calc en VB : taille textes dans dialogue

Yakacoder Messages postés 13 Statut Membre -  
Yakacoder Messages postés 13 Statut Membre -
Bonjour,

Après avoir réalisé une boîte de dialogue pour un classeur avec du texte de différentes tailles sous linux Mint 13 KDE avec Libre Office 3.5, un test fonctionnel du fichier sur un autre ordinateur fonctionnant sous Windows 7 avec Libre Office 5.0, pose un gros problème d'affichage des textes.

Ils sont affichés dans une taille excédant leur cadre, en l’occurrence des contrôles étiquettes. Par exemple une taille d'un gros titre à 54 sous Linux doit passer à 40 sur l'ordinateur Windows pour s'afficher non tronqué. À l'inverse, en adaptant les tailles pour l'ordinateur Windows, les polices s'affichent riquiqui dans la même boîte de dialogue de l’ordinateur sous Linux.

Malheureusement, le projet devrait contenir plusieurs boîtes de dialogue et passer d'un ordinateur à l'autre régulièrement.

Je pense à un paramètre concernant l'OS de Windows ou Linux, mais je ne comprends pas comment cela ne toucherait que les contrôles d'une boîte de dialogue construite avec le gestionnaire de boîte, rubrique Macros d'un classeur.

Cela me dépannerait bien si un membre de ce forum connaissait le problème et avait la solution. Je patauge depuis plusieurs jour à chercher sans solution bien que je comprenne qu'il y a une question de reconnaissance de poilice, mais même en utilisant une police de substitution comme Arial, rien ne s’améliore...

Je ne vois pas dans ce forum comment joindre un fichier d'exemple...
A voir également:

3 réponses

shunesburg69 Messages postés 1094 Statut Membre 216
 
C'est sûrement dû à la police d'écriture que tu utilises qui n'est pas sur l'un des deux système d'exploitation, pour être tranquille mets la police en "Liberation Sans", qui s'installe avec LibreOffice comme ça pas de risque de non présence sur l'un des postes.

Comme LibreOffice, Apache OpenOffice est un fork d'OpenOffice 1er du nom
0
Yakacoder Messages postés 13 Statut Membre
 
Merci shunesburg69,
J'avais cet espoir de la solution dans ta réponse.
Malheureusement, le problème de sur-dimensionnement du texte dans son cadre persiste coté ordinateur sous Windows.
Quand je dis sur-dimensionnement, c'est peur-être le contraire sur l'ordinateur Linux, qui sous-dimensionnerait mes textes si une taille de 54 pour un gros titre te paraît une taille inhabituelle dans tes propres projets...
0
shunesburg69 Messages postés 1094 Statut Membre 216
 
Sinon regarde au niveau de la résolution d'écran, si elle est différente ça peut beaucoup changer l'affichage des dialogues d'un PC à un autre.
0
Yakacoder Messages postés 13 Statut Membre > shunesburg69 Messages postés 1094 Statut Membre
 
Eh oui, elle est différente : 1680 X 1050 pour l'ordinateur de création sous Linux et 1366 X 720 pour l'ordinateur Windows qui dénature la taille des textes dans la boîte du gestionnaire des «dialogues».

Cependant, je pensais que le pixel serait l'unité commune et que l'affichage serait dans la proportion générale et pas seulement au niveau des textes de la boîte.

D'ailleurs, les msgbox s'affichent avec des textes de taille normale dans leur boîte sur les 2 ordinateurs.

Pourquoi tout s'affiche correctement sauf ces textes dans les boîtes créées. Manque-t-il une ligne de code déboguant cette situation comme pour la couleur personnalisée par macro des fonds de contrôles (version LibO3) ?

Si le problème est bien la résolution différente et s'il n'est pas possible d'agir par macros sur la taille des textes via un calcul de proportion basé sur ces résolutions respectives, mon projet est mort avec Libre Office et il faut que j'explique ça.
0
shunesburg69 Messages postés 1094 Statut Membre 216 > Yakacoder Messages postés 13 Statut Membre
 
Le mieux serait de mettre la taille en "em" au lieu de "px" (pixel) ou pt (point), car cette valeur est en fonction de l'écran et pas absolu comme le pixel ou le point. Mais je sais pas si c'est possible de mettre les valeurs en "em". Pour info ton LibreOffice 3.5 est obsolète depuis plusieurs années déjà tu ferais bien de le mettre à jour ça résoudrait sûrement pas mal de souci.
0
Yakacoder Messages postés 13 Statut Membre > shunesburg69 Messages postés 1094 Statut Membre
 
Merci pour ton intervention.

Effectivement, je viens de passer à Libre Office 5.

J'ai trouvé un site qui évoque la question d'une différence d'unité de mesure entre les polices et l'interface. En fait il s'agit de ce que chaque système attribue en pixels pour un point d'unité des polices :
http://coin.des.experts.pagesperso-orange.fr/reponses/faq9_32.html

Libre Office charge des polices dont les tailles s'expriment en points (pt) dans une interface en pixels. Il y a donc un nombre de pixels différent par système attribué à un point. Ce qui provoque donc l'agrandissement hors cadre des textes quand le classeur passe de Linux à Windows.

Toujours d'après le site cité, on aurait 75 dpi (points par pouce) soue Linux, tandis que Windows dispose de 96 dpi. Il y a un calcul à faire pour diminuer ou augmenter la taille des polices entre les systèmes selon le système dans lequel a été conçu la boîte de dialogue par rapport à son affichage dans un autre système..
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

Et avec un truc comme ça ?
Dim OS As String, taillePolice As Long
OS = gauche(Application.OperatingSystem, 3)
If OS = "Win" Then taillePolice = 40 Else taillePolice = 54

Ou bien en testant la résolution
eric

En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Et ?
0
Yakacoder Messages postés 13 Statut Membre
 
Voilà une bonne idée, cependant mon problème est le rapport que chaque plate-forme utilise pour afficher ses caractères.

Sauf modification depuis, Mac attribue 1 pixel pour 1 point, Windows 4 pixels pour 3 points, et j'ignore les données pour Linux.

Si le point qui définit les tailles des polices pour l'impression a une valeur constante, le nombre de pixels pour les afficher, diffère par système Mac, Windows et Linux, pour ne citer qu'eux...

Les DPI plus ou moins denses selon les écrans, sauf erreur de ma part et sous ton contrôle, agissent proportionnellement sur les tailles d'affichage des polices et des éléments constituant les boîtes.

Maintenant, en réalité, les dimensions des éléments des boîtes ne sont pas exprimées en pixels mais en «Ma», qui résulte d'un système interne à Open Office et je l'espère, Libre Office également, nommé «Map AppFont». Pour l'histoire il y avait eu le «Twip» qui était pour ces suites, une unité de référence au pixel, point, pouce et mm. Le Twip est obsolète.

Ce «Ma» fait une subdivision à partir de la moyenne des tailles des polices du système dans lequel se joue notamment le classeur, pour dimensionner les boîtes et leurs contrôles.

Malheureusement je constate que malgré ce dispositif, les polices même à 16 pt, n'entrent pas sous Windows dans les étiquettes constituées sous Linux. Les polices semblent restées dans leur taille d'origine comme venues sans changement de taille, directement de mon écran du poste Linux à celui du petit portable Windows.

La question reste ouverte...
0
Yakacoder Messages postés 13 Statut Membre
 
Je reprends le sujet après avoir essayé en vain de trouver la solution, s'il n'y en a qu'une.
Rien ne produit l'affichage des textes proportionnellement à chaque taille d'affichage de la boîte sous chaque plate-forme.
Rien, sauf avec les contrôles de formulaire. Dans ce cas les contrôles sont directement affichés sur la feuille de calcul. Ceux-ci ne m'auraient posé aucun problème de taille. Les textes y sont parfaitement contenus d'un ordinateur à l'autre de la même façon.
Quel est cette différence ?
0