billpancho
XLDnaute Nouveau
Bonjour,
Je cherche à créer des formes ayant des dimensions issues de textbox et donc de boites de dialogue
Jusqu'ici tout va bien
Le truc est que je souhaite placer mes formes sur mes feuilles mais que toutes les dimensions (formes largeur hauteur et cellule colonne et hauteur) soient comparables, proportionnelles...
J'ai donc utilisé application.centimetersto... pour créer mes formes
et pour obtenir une largeur de colonne en centimetre, j'ai utilisé le code:
Pour tester tout cela, j'ai voulu dire que la largeur de ma colonne était de 10
puis j'ai créer une forme qui était large de 10
le probleme est que ma forme est un peu plus grande que ma colonne
en terme de hauteur en revanche tout est parfait !
Ma question :
La largeur correcte est elle celle de la forme ou celle de la colonne ?
Comment faire pour que mes deux données soient identiques à l'écran ?
Je cherche à créer des formes ayant des dimensions issues de textbox et donc de boites de dialogue
Jusqu'ici tout va bien
Le truc est que je souhaite placer mes formes sur mes feuilles mais que toutes les dimensions (formes largeur hauteur et cellule colonne et hauteur) soient comparables, proportionnelles...
J'ai donc utilisé application.centimetersto... pour créer mes formes
et pour obtenir une largeur de colonne en centimetre, j'ai utilisé le code:
Code:
Application.ScreenUpdating = False
Dim cm As Integer, points As Integer, savewidth As Integer
Dim count As Integer
cm = CInt(TextBox11) / 10
Sheets("Plan").Select
Range("C1").Select
If cm = False Then Exit Sub
points = Application.CentimetersToPoints(cm)
savewidth = ActiveCell.ColumnWidth
ActiveCell.ColumnWidth = 255
If points > ActiveCell.Width Then
MsgBox "la largeur de" & cm & "est trop large" & Chr(10) & _
"la valeur maxi est de " & _
Format(ActiveCell.Width / 28.3464566929134, _
"0.00"), vbOKOnly + vbExclamation, "largeur non valable"
ActiveCell.ColumnWidth = savewidth
Exit Sub
End If
lowerwidth = 0
upwidth = 255
ActiveCell.ColumnWidth = 127.5
curwidth = ActiveCell.ColumnWidth
count = 0
While (ActiveCell.Width <> points) And (count < 20)
If ActiveCell.Width < points Then
lowerwidth = curwidth
Selection.ColumnWidth = (curwidth + upwidth) / 2
Else
upwidth = curwidth
Selection.ColumnWidth = (curwidth + lowerwidth) / 2
End If
curwidth = ActiveCell.ColumnWidth
count = count + 1
Wend
Pour tester tout cela, j'ai voulu dire que la largeur de ma colonne était de 10
puis j'ai créer une forme qui était large de 10
le probleme est que ma forme est un peu plus grande que ma colonne
en terme de hauteur en revanche tout est parfait !
Ma question :
La largeur correcte est elle celle de la forme ou celle de la colonne ?
Comment faire pour que mes deux données soient identiques à l'écran ?