1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Sub MasqueColonne()
Dim r As Range, Sh As String, colonne_debut As Integer, _
colonne_fin As Integer, n As Long, Tab_sh
'
If InStr(1, Range("B1"), ",") = 0 Then _
MsgBox "Le séparateur n'est pas reconnu ou la cellule de texte est vide!" _
& Chr(13) & " Utilisez une virgule " & "comme séparateur de noms.", _
vbExclamation, "Séparateur incorrect": Exit Sub
n = Range("a1")
If n = 0 Then _
MsgBox "Vérifier la valeur de date.", vbCritical, "Erreur": Exit Sub
On Error GoTo Fin
Select Case Month(Range("a1"))
Case Is = 1
colonne_debut = 4
colonne_fin = 12
Case 2 To 11
colonne_debut = 5
colonne_fin = 12
Case Is = 12
colonne_debut = 3
colonne_fin = 13
End Select
Tab_sh = Split(Range("B1"), ",")
For n = 0 To UBound(Tab_sh)
Worksheets(Tab_sh(n)).Columns.Hidden = False
Worksheets(Tab_sh(n)).Range(Cells(1, colonne_debut), Cells(1, colonne_fin)).Columns.Hidden = True
Next
Exit Sub
Fin:
Err.Clear
MsgBox "Le nom de feuille " & Chr(34) & Tab_sh(n) & Chr(34) & " n'éxiste pas!", vbInformation, "Erreur"
End Sub |
Partager