Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 unité de mesure des positions d'un inputbox

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
je me pose une question qui est peut être bête mais j'm'en fiche je la pose quand même

dans mon Userform je lance un inputbox placé au niveau du Userform

pour qu'il soit placé là ou je veux je suis obligé de multiplier par 20 la position left et top du userform

question :
  1. est ce normal?
  2. si oui quelle est l'unité de mesure (point , pixel , cm , etc...)?
VB:
Private Sub Label3_Click() 'bouton header
x = InputBox("veuillez entrer le texte du header", "texte du header", "tapez votre texte ici", Me.Left * 20, Me.Top * 20)
End Sub
merci pour les éventuels retours
 

TooFatBoy

XLDnaute Barbatruc
Oui, mais la réponse que me retourne cette fonction est totalement fausse puisqu'en réalité elle n'est vraie que pour 96 dpi...

On tourne en rond là.
Mais merci d'avoir essayé de m'aider à comprendre les twips.


Bonne journée
 

patricktoulon

XLDnaute Barbatruc
re
coucou robert
VB:
Sub test()
Large = 94

hauteur = 53

diagonale = 107

lpoint = Application.CentimetersToPoints(Large)

lpix = Application.CentimetersToPoints(Large) * (4 / 3)

ltw = (Application.CentimetersToPoints(Large) * ((4 / 3))) * 20
Debug.Print "largeur "
Debug.Print "en dpi 96"
Debug.Print "largeur en points  " & lpoint
Debug.Print "largeur en pixel (dpi 96 soit 100%)  " & lpix
Debug.Print "largeur en twips dpi(96 soit 100% )  " & ltw
Debug.Print vbCrLf & "en dpi 120 soit 125%"
Debug.Print "largeur en points  " & lpoint * 1.25
Debug.Print "largeur en pixel (dpi 120 soit 125%)  " & lpix * 1.25
Debug.Print "largeur en twips dpi(120 soit 125% )  " & ltw * 1.25

Debug.Print vbCrLf & "hauteur"

lpoint = Application.CentimetersToPoints(hauteur)

lpix = Application.CentimetersToPoints(hauteur) * (4 / 3)

ltw = (Application.CentimetersToPoints(hauteur) * ((4 / 3))) * 20
Debug.Print "en dpi 96"
Debug.Print "largeur en points  " & lpoint
Debug.Print "largeur en pixel (dpi 96 soit 100%)  " & lpix
Debug.Print "largeur en twips dpi(96 soit 100% )  " & ltw
Debug.Print vbCrLf & "en dpi 120 soit 125%"
Debug.Print "largeur en points  " & lpoint * 1.25
Debug.Print "largeur en pixel (dpi 120 soit 125%)  " & lpix * 1.25
Debug.Print "largeur en twips dpi(120 soit 125% )  " & ltw * 1.25

End Sub
 
Dernière édition:

dysorthographie

XLDnaute Accro
Bien sur que si ça veux dire qq chose!

moi avec mon 13" j'ai pas 96 dpi mais 28,3464566929134 !

sit ut connais le nombre par Cm alors tu en déduit le reste!
 

TooFatBoy

XLDnaute Barbatruc
moi avec mon 13" j'ai pas 96 dpi mais 28,3464566929134 !
Et je suppose que le zoom de ton Bureau est à 100 %.
Si c'est bien le cas, tu confirmes là ce que je disais : 100 % ne donne pas forcément 96.
(28 ça me paraît très faible... t'es sûr d'avoir bien calculé ?)

Moi non plus je n'ai pas 96 dpi : j'avais mesuré 111 dpi pour la dalle de mon moniteur (si je me souviens bien) et le Bureau de mon Windows a un zoom à 100 %.


Je me repencherai sur les twips à tête reposée...
Ce serait sympa que j'arrive enfin à comprendre, au bout de 25 ans, ce que Microsoft nous raconte avec ses twips.


@+
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Le code de #21 donne des valeurs fausses.

Déjà, je pense qu'il y a une erreur dans le code : ce n'est pas Lpix, mais Lpoint, qu'il faut multiplier par 20.



Ensuite, on voit bien que ça donne n'importe quoi, puisqu'il suffit de modifier la taille de l'écran pour que ça modifie le nombre de pixels (comme si on vivait encore à l'époque où tous les moniteurs avaient la même résolution... ).
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…