bonjour
la fonction columnwidth te donne la dimention en unite (de nombre de caracteres) c'est a dire
si je met
range("A1:F10).columns(1).columnwidth=100
elle fait 100 caracteres (en font normal de large) on peut y mettre 100 caracteres
la fonction width pour une plage est en lecture seule
c'est a dire que que l'on peut pas s'en servire pour dimentionner seulement pour connaitre sa largeur et l'unité est en point
toi tu la veux comment ta plage 500 en
- point?
- caracteres?
- pixels?
tu veux connaitre facilement la convertion en point sur ton pc avec ta resolution?
test CELA ca pourrait t'aider a comprendre
1 2 3 4 5 6 7 8
| Sub test2()
Columns(1).ColumnWidth = 1
Do
Columns(1).ColumnWidth = Columns(1).ColumnWidth + 0.1
Loop While Range("A1").Width < 100
MsgBox "la cellule ""A1"" fait " & Range("A1").Width & " POINTS !! de large " & vbCrLf & _
Range("A1").ColumnWidth & " en unité ""COLUMNWIDTH"" (nombres de caracteres) "
End Sub |
pour la dimention en pixel (la conversion) tu a moulte discussions qui en parle
pour l'heure tu a les api window et gdi
ou
une cle dans la base de registre
je ne connais pas ton besoins tout du moins le contexte je ne peux t'en dire plus
Partager