Calculer la taille d'une cellule

patricktoulon

XLDnaute Barbatruc
re
Bonjour @Marcel 32
oui et comme on la vu , tout dépends de ce que tu veux faire de cette mesure
si tu veux t'en servir pour modifier quelque chose ou même en lecture dans ton affichage actuel tu va devoir passer par d'autre mesures sinon il y a de fortes chances que les résultats ne soient pas cohérent avec ce que tu vois à l’écran

tant que ça reste interne il n'y a pas de problème
[A1].rowheight= [A4].rowsheight te donnera satisfaction même si en réel , ni l'une ni l'autre n'a vraiment les dimensions prétendues
par contre si tu dois modifier le rowheight d'un range avec une donnée qui ne viens pas d'excel là on a des surprises
et à l'inverse si tu dois dimensionner quelque chose en dehors d'excel au dimensions d'un range là encore surprise surprise
 

patricktoulon

XLDnaute Barbatruc
bonsoir
c'est un soucis connu bien courageux et beni celui qui trouvera la formule ramenant la dimension réelle
1 les bordures ne sont pas prises en compte même en xlnone alors quelle sont visibles autrement c'est pire
2 le zoom 100% de excel ne dimensionne pas de la même manière qu'une autre fentre d'une autre application
3 le zoom encore!!! excel resize la grille en centrifugeant le rattrapage (bordure et autres )
plus on va vers le centre plus les dimentions sont tronquées

4 le font size qui joue des vilains tours aussi la cellule s'adapte (celui qui connais la règle je lui mage dans la main )

en pixel
alors là c'est la bérézina
mais on arrive a faire a peu près juste avec les api ou diverses astuces (dont la mienne)
je parlerais pas des dpi intermediare de windows ne gere pas du tout
pour info les seuls dpi que windows gère nativement 100 , 120, 144 et encore le dernier les api windows l'exclu donc walouh!! pour les calculs toutes les autre intermediares ou persos ben vous oubliez

pour les calcule et positionnement
j'ai lu plus haut 0.75 le coeff pixel oui si on veut soit 4/3 mais ca c'est pour le zoom 100% dpi 100% soit 96

bref il est pas né celui qui arrivera a chopper le truc et pour cause c'est une question d'ecran
regardez si on zoom inférieur ce que l'on vois par exemple vous verrez des lignes moins epaisses que d'autres et si je zoom fort 200 ou 250 là on commence avoir vraiment des différentes taille de largeur et hauteur cellule
Regarde la pièce jointe 1129882

je parlerais même pas de l'arrondi VBA sur les décimales (bien connu aussi) 0.25 ou 0.7 ou 0.5 ou 0.4
(va savoir pourquoi)

conclusion celui qui cherche a lire ou écrire les vraies dimensions devrait chercher le DAHU ;)

tiens pour la route
je met des bordures et je prend en lecture le width avant et apres les bordures
une image parle bien plus que des mots 😂🤣
Regarde la pièce jointe 1129884

conclusion tu n'aura qu'une approximation qui variera selon la qualité de ta carte graphique et de ton écran
mais en aucun cas jamais tu pourra les mesure réelle
ca fait des années que je travaille la question et je suis pas le seul que ce soit ici ou sur DVP et je peux affirmer à 100% que personne n'a trouver quelque chose de concret
si vous voulez essayer ne vous gênez pas
et ce n'est que le sommet de l'iceberg 😁
VB:
Private Sub CommandButton1_Click()
    With [d7,d9]
        [D2] = .Width
        .BorderAround 1, 4, 3
        [D3] = .Width
    End With
End Sub

Private Sub CommandButton2_Click()
[d7,d9].Clear
End Sub
 

TooFatBoy

XLDnaute Barbatruc
Sans trop vouloir m'avancer, je pense qu'un "pixel Excel" correspond simplement à la résolution qu'Excel offre pour les cellules, shapes et autres objets graphiques.
Je ne comprends pas ce que tu veux dire là, mais ce que je peux dire, c'est que quand Excel dit qu'une cellule fait 20 pixels de haut, elle fait vraiment 20 pixels de haut.
C'est ce que j'avais vérifié après ton message #3, avec le Bureau de Windows en zoom 100 % et la feuille Excel en zoom 100 %. ;)

Ton constat sur le ratio de 0,75 me semble tout à fait exact. Je constate la même chose chez moi.

Donc, pour moi, tout ce qu'on peut dire, c'est que 1 pixel = 0,75 point Excel.
(autrement dit, 4 pixels = 3 points Excel)
Et donc 1 point Excel n'a rien à voir avec un point typographique, puisque le point typographique a une taille fixe alors qu'un point Excel a une taille variable. ;)


Pour info, la résolution définition de mon écran est 1366 x 768, sa taille est de 34,5 x 19,5 cm et application.Width et application.Height ramènent 1036,5 x 558 points (tiens tiens, 1036,5 / 1366 = 0,7588 et 558 / 768 = 0,7266, on n'est pas loin du 0,75 !)
Quand tu dis 34,5 cm de large et 19,5 cm de haut pour ton moniteur, tu parles bien de la dalle (la partie affichage) en elle-même et non du moniteur ?
C'est bizarre, on n'a pas le même ratio L/H pour la taille en cm (1.769230) que pour le nombre de "points" (1.85752688172043010).


Pour l'instant je n'ai pas encore attaqué le paragraphe 2 car je buttais sur l'histoire de point typographique, et de pixels qui auraient la même taille chez tout le monde.
Maintenant j'ai compris que c'est en fait l'inverse :
1 pixel c'est 1 pixel (il a une taille variable selon le moniteur), et ça vaut toujours 0,75 point Excel (donc le "point Excel" n'a pas une taille fixe).
Je vais pouvoir tenter d'aborder le paragraphe 2.

Merci pour tes explications. 👍
 

patricktoulon

XLDnaute Barbatruc
re
1 pixel c'est 1 pixel (il a une taille variable selon le moniteur), et ça vaut toujours 0,75 point Excel (donc le "point Excel" n'a pas une taille fixe).
non @Marcel32 un pixel c'est un pixel c'est une unité de mesure fixe et invariable
et Attention avec 0.75 c'est pas juste pil poil le vrai coeff c'est 4/3 soit 1.333333333333333
et la représentation graphique de 1 point en pixel c'est ((1*(1.333333333333333*DPI)*zoom pour excel)
car excel en zoom 50 ou 400 te donnera toujours la même taille de cellules
c'est la représentation graphique en fonction de la résolution qui est variable
 

TooFatBoy

XLDnaute Barbatruc
j'ai lu plus haut 0.75 le coeff pixel oui si on veut soit 4/3 mais ca c'est pour le zoom 100% dpi 100% soit 96
Euh... on a déjà réfléchi là-dessus, souviens-toi. La conclusion était que tu avais compris le tableau Microsoft à l'envers. ;)

Tu avais compris, dans les explications pour le moins nébuleuses de Microsoft, qu'ils disaient qu'avec un zoom à 100 % on avait 96 DPI.
(ce que nous trouvions évidemment absurde, et c'est pour ça qu'on avait planché là-dessus)
Or c'est dans le sens inverse qu'il faut comprendre le tableau de Microsoft :
si ta dalle est en 96 DPI, Microsoft conseille d'utiliser un zoom de 100 %.
C'est juste un conseil de la part de Microsoft. Il n'y a aucun rapport numérique entre (aucune formule associant ensemble) 96 DPI et 100 %. La preuve : mon Bureau Windows est à 100 % et mon moniteur est à 111 DPI. ;)

Après, que Microsoft utilise la valeur 96 dans ses calculs d'affichage, ça ne m'étonnerait pas...


Là aussi ça me tracasse cette histoire de "point Excel". Mais là aussi on va chercher et j'espère qu'on finira par comprendre. ;)
 

TooFatBoy

XLDnaute Barbatruc
non @Marcel32 un pixel c'est un pixel c'est une unité de mesure fixe et invariable
Totalement faux si on parle de sa taille. Mais vrai si on parle en pixels : 1 pixel = 1 pixel. ;)

et Attention avec 0.75 c'est pas juste pil poil le vrai coeff c'est 4/3 soit 1.333333333333333
Euh... c'est l'inverse : 1,33333333 n'est pas la valeur exacte. La vraie valeur c'est 4/3, c'est-à-dire 1/0,75.
1,33333333 n'est qu'une approximation. ;)
 

TooFatBoy

XLDnaute Barbatruc
et la représentation graphique de 1 point en pixel c'est ((1*(1.333333333333333*DPI)*zoom pour excel)
Voilà qui est intéressant. En formule sans ton approximation, ça donne zoom*DPI*4/3
"zoom", c'est quel facteur de zoom : celui du Bureau Windowws ou celui de la feuille ou une combinaison des deux ?
"DPI", c'est quelle valeur qu'il faut utiliser ?


car excel en zoom 50 ou 400 te donnera toujours la même taille de cellules
Oui, c'est ce que je disais plus haut : j'ai constaté qu'Excel ne donne pas les dimensions physiques de la cellule, mais ses dimensions "virtuelles", en "points Excel" c'est-à-dire en 3/4 de pixel, par rapport à un Bureau Windows zoomé à 100 % et une feuille Excel zoomée à 100 %.


c'est la représentation graphique en fonction de la résolution qui est variable
Oui, peut-être.
 

patricktoulon

XLDnaute Barbatruc
re
et tu trouvera partout le même raisonnement
0.75 non 1.(15*3) oui
Euh... on a déjà réfléchi là-dessus, souviens-toi. La conclusion était que tu avais compris le tableau Microsoft à l'envers. ;)
tu confond les règles mathématique et ce qui se passe à l’écran c'est deux choses bien différentes

chez moi j'ai un dpi de 120 déclaré dans mon registre et quand je calcul avec, mes résultats a 1/2 pixel prés sont juste sur autocad 3D et 5/10 pixel près avec vba excel

croyez moi si vous partez dans le points/pixel avec vba excel et que vous espérez que ce que vous voyez à l’Écran traduise vos calculs et ben vous êtes par revenu je vous le dis

a partir du moment ou tu va faire tes calcul en fonction des règles mathématiques tu va t'arracher les cheveux
sache que si tu n'est pas en 100 ou 120 en aucun cas au grand jamais tu arrivera a faire correspondre graphiquement parlant tes calculs et le visuel surtout dans excel qui a son propre zoom





1644016724666.png
 

TooFatBoy

XLDnaute Barbatruc
chez moi j'ai un dpi de 120 déclaré dans mon registre
Tu commets encore la même erreur : tu confonds le facteur de zoom avec les DPI.
Ce n'est pas ton DPI qui est à 120, c'est le facteur de zoom de ton Bureau Windows qui est de 120 %.
Si je me souviens ton affichage tourne dans les 42 DPI (mais je ne me rappelle plus vraiment...). ;)
 

TooFatBoy

XLDnaute Barbatruc
croyez moi si vous partez dans le points/pixel avec vba excel et que vous espérez que ce que vous voyez à l’Écran traduise vos calculs et ben vous êtes par revenu je vous le dis

a partir du moment ou tu va faire tes calcul en fonction des règles mathématiques tu va t'arracher les cheveux
sache que si tu n'est pas en 100 ou 120 en aucun cas au grand jamais tu arrivera a faire correspondre graphiquement parlant tes calculs et le visuel surtout dans excel qui a son propre zoom
Ca, je veux bien te croire que ce n'est pas simple !

Mais il y a forcément des calculs qui permettent de trouver la bonne réponse.
Du moins pour l'instant j'y crois encore, et c'est pour ça que je cherche toujours à comprendre. ;)
 

patricktoulon

XLDnaute Barbatruc
celui du Bureau Windowws ou celui de la feuille
j'ai répondu a cette question dans mon précèdent post

windows a sa propre règle mais excel a la sienne aussi

regarde quand je zoom de quelle manière la plage orange se resize avec le zoom
il faut être très attentif
demo2.gif



et une autre encore plus parlante
ici je zoom aussi simplement donc la plage orange devrait se déplacer toujours de la même manière donc visuellement parlant je devrai voir une progression constante dans un seul sens le ft top widthet height augmentent au même pourcentage du moins c'est sensé se passer comme ça
et ben tu n'est pas au bout de tes surprises

démonstration zoom 220 puis 230 puis 240 puis 250 et retour a 220


demo2.gif



comme je disais celui qui trouve la règle est béni;)
 

TooFatBoy

XLDnaute Barbatruc
Ton site donne un résultat faux pour la conversion des pixels en centimètres :
il me donne comme réponse 101,6 cm, alors que mon moniteur ne fait que 87,8 cm... ;)

SiteMoisi.png

[edit]
J'ai compris, il utilisent un DPI de 96.
Effectivement, si la dalle de mon moniteur avait un DPI de 96, ça donnerait 101,6 cm.
Mais la dalle de mon moniteur a un DPI de 111, d'où la valeur erronée affichée par ton site.
[/edit]
 
Dernière édition:

Discussions similaires

  • Résolu(e)
Microsoft 365 Taille UserForm
Réponses
3
Affichages
301

Statistiques des forums

Discussions
311 724
Messages
2 081 937
Membres
101 844
dernier inscrit
pktla