XL 2013 Fonction pour déterminer la largeur en points ou pixels d'un texte

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

Petit souci avec un Label dans un UserForm qui est en AutoSize = True mais qui ne s'ajuste qu'en hauteur.
Il semble qu'il s'ajuste en largeur sur les 6 ou 7 premiers caractères.

D'où la question: existe-t-il une fonction pour déterminer la largeur en points ou pixels d'un texte sans retour à la ligne, même approximative ?'

Sinon je vais essayer d'exploiter cette largeur par défaut en considérant simplement qu'elle contient 6 caractères représentatifs d'un texte quelconque et appliquer le ratio sur la longueur du texte.


Merci par avance pour toute suggestion.
 

Pièces jointes

Dernière édition:
Solution
Re (et un salut à Staple1600)

Je ne t'avais pas oublié, mais avais une occupation prioritaire (promenade de mon épouse au soleil)
Regarde ce que fait ceci :
- un userform avec un bouton de commande commandbutton1
- un label label1 placé où tu veux et avec les dimensions que tu veuxavec ces propriétés (toutes les 3) :
Visible = False
AutoSize = True
WordWrap = False

et ce code :

VB:
Private Type dimens
  largeur As Single
  hauteur As Single
End Type

Private Type FLICS
  bname As String
  bbold As Boolean
  bitalic As Boolean
  bsize As Integer
End Type
Private Sub CommandButton1_Click()
  Dim mon_flic  As FLICS, texte As String
  With mon_flic
   .bname = "Tahoma"
   .bitalic = True...
Et s'il s'appelle ucfoutu, il a vraiment un drôle de nom
Je crains fort qu'il s'appelle en effet ainsi 😛
Et je suppose du coup que tu es déjà "tombé" sur ce dépôt.

Mais si tel n'est pas le cas, voilà le lien :

me voilà inquiet, pour le coup. Car si mon jumeau a vieilli de 8 ans, j'ai alors vieilli d'autant moi-même. Snif
 
Dernière édition:
Bonsoir,

Je cherchais un moyen pour trouver une correspondance en pixels de la largeur d'un texte.
Je n'ai pas trouvé grand-chose. Même sur cet illustre forum je n'ai trouvé qu'un seul fil, celui-ci. Quoi qu'il en soit, je me doutais qu'il fallait passer par des APIs.
En désespoir de cause, je pose la question à ChatGPT qui m'a répondu en me communiquant les APIs et les UDF que je lui demandais.
Ma foi, ça a l'air de marcher.
Ça tient compte de la police et de sa taille.
Je pense qu'on peut simplifier, mais il faut passer par des APIs.
Qu'en pensez-vous ?
 

Pièces jointes

Dernière édition:
Bonjour Dudu2,

Ta question initiale était :
D'où la question: existe-t-il une fonction pour déterminer la largeur en points ou pixels d'un texte sans retour à la ligne, même approximative ?

J'avais commencé par chercher une solution pour les pixels. Une fois que je l'ai obtenue (mais je ne sais toujours pas si les résultats sont corrects), pour les pouces, je me suis dit qu'il fallait simplement convertir les pixels en points. Je cherche donc sur le net un facteur de conversion, et je tombe sur ceci :

Comment Convertir les Pixels en Points?​

Convertir les pixels en points dépend de la résolution et de la taille de l'écran ou du document avec lequel vous travaillez. Cependant, un facteur de conversion courant est que 1 point (pt) est égal à 1÷72 de pouce, et 1 pixel (px) est généralement équivalent à 1÷96 de pouce sur la plupart des écrans.

Ainsi, pour convertir les pixels en points, vous pouvez utiliser la formule suivante : (Pixels ÷ 96) × 72 = Points

Cette formule suppose une résolution d'écran standard de 96 pixels par pouce. Si vous travaillez avec une résolution différente, vous devrez ajuster en conséquence. Par exemple, si votre résolution d'écran est de 120 pixels par pouce, vous remplaceriez le 96 dans la formule par 120.

¡Caramba! Il faut alors connaître le DPI/PPI (144 chez moi, je ne savais même pas ce que c'était exactement) de son moniteur pour connaître la valeur juste en pouces.
ChatGPT m'apporte plusieurs solutions.

En pouces, pour un même texte : "Zorro est arrivé"
avec une même police (j'imagine "Calibri") d'une taille de 18.
Toi : 119,5 pts
Moi : 113 pts

Quant aux pixels (226 px chez moi), on ne peut hélas pas comparer.
En conséquence, je reste sur ma faim.
Enfin, ta solution n'est pas à proprement parler une fonction comme tu le demandais initialement.
 
Dernière édition:
Bonjour,

J'ai testé ton classeur hier et j'ai trouvé ça FA-BU-LEUX !!! Sur le test que j'ai fait ça semblait parfaitement fonctionner, pile poil le bon nombre de pixels.

Convertir les pixels en points dépend de la résolution et de la taille de l'écran ou du document avec lequel vous travaillez.
Je vous vaguement en quoi la résolution intervient si on considère qu'un point est 1/72 de pouce, mais je ne vois pas en quoi la taille de l'écran peut bien intervenir.


Cependant, un facteur de conversion courant est que 1 point (pt) est égal à 1÷72 de pouce, et 1 pixel (px) est généralement équivalent à 1÷96 de pouce sur la plupart des écrans.
Et on atteint la question que je me suis posée hier : est-ce que ça fonctionne également si on applique une zoom au niveau du Bureau ou d'Excel ?


Cette formule suppose une résolution d'écran standard de 96 pixels par pouce. Si vous travaillez avec une résolution différente, vous devrez ajuster en conséquence. Par exemple, si votre résolution d'écran est de 120 pixels par pouce, vous remplaceriez le 96 dans la formule par 120.
Et voilà qui répond encore une fois parfaitement à la question.👍


Autant il est facile de voir si le nombre de pixels est correct, autant je trouve compliqué de savoir si la conversion en points donne le bon résultat. 🤔 🤯 🤪
 
Dernière édition:
Il faut alors connaître le DPI/PPI (144 chez moi, je ne savais même pas ce que c'était exactement) de son moniteur pour connaître la valeur juste en pouces.
Ben ça c'est hyper simple : il suffit de simplifier par "PI", ce qui fait qu'il ne reste plus que "D/P" et on voit tout de suite que c'est simplement le nombre de points par pixel. 😉
 
Dernière édition:
Bonsoir tout le monde,

Comme on dit à Marseille "je me suis levé le maffre" avec ChatGPT pour compiler un florilège de fonctions qui devraient permettre de jongler joyeusement et en toute sérénité avec les pixels et les points.

PS : parfois on est lent.
TooFatBoy finit son post par : Ben ça c'est hyper simple : il suffit de simplifer par "PI", ce qui fait qu'il ne reste plus que "D/P" et voit tout de suite que c'est simplement le nombre de points par pixel. 😉
Quand j'ai lu ça rapidement la première fois, je me suis dit : pfff ça m'a l'air bien compliqué cette histoire.
Je relis maintenant, et j'ai rigolé tout seul en me disant : Bon Dieu mais, c'est bien sûr !... et qu'est-ce que je suis lent !

Au fait, comment on met les citation : "Machin a dit" ?
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

B
Réponses
24
Affichages
5 K
Retour