Bonjour,
Mon problème est le suivant:
sur la première ligne, j'ai les dates des jours de 01/01/2018 jusqu'au 31/12/2020. j'ai un code me permettant d'afficher les jours d'un mois qu'on choisit via une liste déroulante et de masquer le reste de l'année. le code est codé en dur, j'aimerai savoir comment je peux l'améliorer. voici une partie du code.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36
37
38 Private Sub Worksheet_Change(ByVal Target As Range) With Feuil1 ' .Unprotect ' If Target.Address = "$D$3" Then Reponse = MsgBox("Êtes-vous sûr de vouloir afficher la période " & " " & dateTarget & "?", vbOKCancel) Select Case Reponse Case vbOK ' If .Cells(3, 3) = "2018" Then ''choix de l'année 2018 .Columns("E:NE").EntireColumn.Hidden = False '2018 ' colonnes affichées .Columns("NF:APH").EntireColumn.Hidden = True '2019/20'colonnes masquées If .Cells(3, 4) = "1" Then .Columns("E:AI").EntireColumn.Hidden = False 'Janvier .Columns("AJ:NE").EntireColumn.Hidden = True ElseIf .Cells(3, 4) = "2" Then .Columns("AJ:BK").EntireColumn.Hidden = False 'Fev .Columns("E:AI").EntireColumn.Hidden = True .Columns("BL:NE").EntireColumn.Hidden = True ElseIf .Cells(3, 4) = "3" Then .Columns("BL:CP").EntireColumn.Hidden = False 'Mars .Columns("E:BK").EntireColumn.Hidden = True .Columns("CQ:NE").EntireColumn.Hidden = True ElseIf .Cells(3, 4) = "4" Then .Columns("CQ:DT").EntireColumn.Hidden = False 'Avril .Columns("E:CP").EntireColumn.Hidden = True .Columns("DU:NE").EntireColumn.Hidden = True
Partager