Option Explicit
Private Sub UserForm_Activate() 'pour demarrage du userform
Dim x&, tbl, Index, LfTX, ToPY, PtoPx#
tbl = LBHauteur.List
Range("C1").Select
'position de l'userform toujours en A3.left et A3.top
'quelque soit le windowstate ou le zoom ou la position de excel à l'ecran
With ActiveWindow
PtoPx = (4 / 3)
LfTX = .Panes(1).PointsToScreenPixelsX(0) / PtoPx
ToPY = .Panes(1).PointsToScreenPixelsY([A3].Top) / PtoPx
End With
Me.Move LfTX, ToPY
'arrondi ou superieur pour la reception du height du comm
With Application
x = Round(CDbl(ActiveCell.Comment.Shape.Height), 0)
If x < ActiveCell.Comment.Shape.Height - 1 Then x = x + 10
Index = .IfError(.Match(x, Application.Transpose(tbl)), 0)
If Index <> 0 Then
LBHauteur.Value = x
End If
End With
End Sub
Private Sub LBHauteur_Click()
ActiveCell.Comment.Shape.Height = LBHauteur.Value
TextBox1.Value = LBHauteur.Value
End Sub
' je ne vois pas l'intérêt de deux boutons MAIS BON!!! :)
Private Sub Valider_Click(): Unload Me: End Sub
Private Sub CommandButton1_Click(): Me.Hide: End Sub
Private Sub TextBox1_Change() 'juste pour espionnage
'TextBox1.Value = ActiveCell.Comment.Shape.Height
End Sub