Const VerticalScrollBarBordersPixels As Long = 2 * 2.5 'Borders around the Vertical Scroll Bar
Const HorizontalScrollBarBordersPixels As Long = 2 * 4 'Borders around the Horizontal Scroll Bar
Const StatusBarHeightPixels = 26
ah ouais, ça c'est emm*erdant. On ne sait pas où est le cadre finalement.Comme tu peux le voir dans cette capture selon l’épaisseur ca mange vers l’intérieur ou vers l’extérieur
With Window.Panes(1)
EVRRW.Left = EVRRS.Left - .PointsToScreenPixelsX(0) + CXEDGE
EVRRW.Right = EVRRS.Right - .PointsToScreenPixelsX(0) + CXEDGE
EVRRW.Top = EVRRS.Top - .PointsToScreenPixelsY(0) + CYEDGE
EVRRW.Bottom = EVRRS.Bottom - .PointsToScreenPixelsY(0) + CYEDGE
End With
With Window.Panes(1)
EVRRW.Left = EVRRS.Left - .PointsToScreenPixelsX(0) + CXEDGE
'EVRRW.Right = EVRRS.Right - .PointsToScreenPixelsX(0) + CXEDGE
EVRRW.Right = EVRRS.Right - .PointsToScreenPixelsX(0) + IIf(Window.DisplayHeadings, CXEDGE, CXBORDER)
EVRRW.Top = EVRRS.Top - .PointsToScreenPixelsY(0) + CYEDGE
EVRRW.Bottom = EVRRS.Bottom - .PointsToScreenPixelsY(0) + CYEDGE
End With
Les bordures rouges, suite à ta remarque tout à fait justifiée sur les épaisseurs, j'ai abandonné, tu les as remis ou pas pris le fichier du #95.autrement dit on ne voit que la bordure rouge (gauche et top )
Dim texte
Sub test()
Dim shap As Shape, shap2 As Shape
texte = ""
Set shap = ActiveSheet.Shapes.AddShape(1, 0, 0, 100, 100)
With shap
.Name = "cobaie"
.Fill.Transparency = 0.9
.Fill.ForeColor.RGB = vbGreen
.Line.Visible = msoFalse
'.Line.Weight = 5
.Line.ForeColor.RGB = vbRed
.Line.Transparency = 0
.ZOrder msoSendToBack
End With
Set shap2 = ActiveSheet.Shapes.AddShape(1, 0, 102, 100, 100)
With shap2
.Name = "cobaie2"
.Fill.Transparency = 0.9
.Fill.ForeColor.RGB = vbGreen
.Line.Weight = 5
.Line.ForeColor.RGB = vbRed
.Line.Transparency = 0
.ZOrder msoSendToBack
texte = "shape 1.width " & shap.Width & vbCrLf & "shape 2.width " & shap2.Width & vbCrLf & _
"shape 1.left " & shap.Left & vbCrLf & "shape 2.left " & shap2.Left & vbCrLf & _
"alors qu'il est clairement visible que la shape 2 est plus grande et a moins de zero de left "
Application.OnTime Now + 0.00001, "message"
End With
End Sub
Sub message()
MsgBox texte
End Sub