La procédure ci-dessous permet de masquer les colonnes A à D si vous transmettez une valeur RunCount de 1, colonnes E à H si vous transmettez une valeur de 2, colonnes I à L si vous transmettez une valeur de 3, etc. ainsi de suite ...
Public Sub HideColumns(RunCount As Integer, TargetSheet As Worksheet)
Dim rngHide As Range
Dim ColOffset As Integer
' Initialise rngHide to columns A to D of the target worksheet.
Set rngHide = TargetSheet.[A:D]
' Calculate the offset from column A to the first column _
that needs to be hidden, update rngHide if required.
ColOffset = (RunCount - 1) * 4
If ColOffset > 0 Then
Set rngHide = rngHide.Offset(0, ColOffset)
End If
' Hide the columns.
rngHide.ColumnWidth = 0
End Sub
Si vous décidez que de masquer certaines colonnes, il suffit de changer la ligne:
Set rngHide = TargetSheet.[A:D]
Par exemple, Pour masquer seulement les premières & dernières colonnes, la colonne A (et D, E colonne et H, etc.):
Set rngHide = TargetSheet.[A:A, D:D]
Pour masquer seulement les deux premières colonnes:
Set rngHide = TargetSheet.[A:B]
colonnes dans quel système, exactement? – Alnitak
J'essaie de travailler sur la version Microsoft Excel 2003 –