Bonjour le Forum
Bonjour
patricktoulon
il arrive de temps en temps que cela ne zoome plus (je dois activer un autre onglet et revenir), est ce que cela pourrait venir du fait que dans la macro, tu as écris :
Dim p_topx, marge#
Dim coeff#
et que plus bas, il n'y a plus le # sur Marge et sur coeff ?
merci
dans Thisworkbook :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
With Sh
Select Case Sh.Name
Case "Feuil1": zooming_columns .Range("A:I"): .ScrollArea = "A1:h42"
Case "Feuil2": zooming_columns .Range("A:m"): .ScrollArea = "A1:l20"
Case "Feuil3": zooming_columns .Range("A:f"): .ScrollArea = "A1:e18"
Case Else: zooming_columns False
End Select
End With
End Sub
dans un module :
Function zooming_columns(rng As Variant)
Dim p_topx, marge#
Dim coeff#
With ActiveWindow
.Zoom = 100
p_topx = (.ActivePane.PointsToScreenPixelsX(72) - .ActivePane.PointsToScreenPixelsX(0)) / 72
marge = ((.ActivePane.PointsToScreenPixelsX(0) / p_topx) - Application.Left) * (1 + (Abs(ActiveWindow.DisplayVerticalScrollBar)))
If TypeName(rng) = "Range" Then
coeff = (Application.UsableWidth - marge) / rng.Width
.Zoom = 100 * coeff
Else
.Zoom = 100
End If
End With
[A1].Select
End Function