Dim lig&, t# 'mémorise les variables
Private Sub Workbook_Open()
Deplacer 'lance la macro
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime t, "'" & Me.Name & "'!" & Me.CodeName & ".Deplacer", , False 'RAZ
End Sub
Sub Deplacer()
If ActiveWorkbook.Name = Me.Name And LCase(ActiveSheet.Name) = "inventaire caisses" Then
If ActiveWindow.ScrollRow <> lig Then
Dim col%, cc%, adr$
col = [MonTableau].Column
cc = [MonTableau].Columns.Count
Application.ScreenUpdating = False
[MonTableau].Cut [MonTableau].Offset(, cc) 'couper-coller vers la droite
adr = [MonTableau].Address
With [MonTableau].Offset(, -cc)
.Interior.Color = RGB(128, 128, 128) 'gris foncé
.Borders.Weight = xlThin
End With
lig = ActiveWindow.ScrollRow 'mémorise la ligne
[MonTableau].Cut Cells(lig, col) 'couper-coller vers la gauche
With Range(adr)
.Interior.Color = RGB(128, 128, 128) 'gris foncé
.Borders.Weight = xlThin
End With
Application.ScreenUpdating = True
End If
End If
On Error Resume Next
Application.OnTime t, "'" & Me.Name & "'!" & Me.CodeName & ".Deplacer", , False 'RAZ
t = Now + 1 / 86400 'temporisation 1 seconde
Application.OnTime t, "'" & Me.Name & "'!" & Me.CodeName & ".Deplacer"
End Sub