Bonjour,
Dans ma feuille de calcul je sélectionné un mois dans ma cellule B3 soit un mois de l'année, je veux que les colonnes qui sont posterieurs à ce mois dans les colonnes C:N soients masquées, comment faire?
Cordialement.
Cf fichier joint
Bonjour,
Dans ma feuille de calcul je sélectionné un mois dans ma cellule B3 soit un mois de l'année, je veux que les colonnes qui sont posterieurs à ce mois dans les colonnes C:N soients masquées, comment faire?
Cordialement.
Cf fichier joint
je n'ai pas ouvert ton fichier
si tu as en B3, une liste avec les numéros des mois
tu peux essayer ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$3" Then Range("C1:N1").EntireColumn.Hidden = False If Target.Value < 12 Then Range(Cells(1, 3 + Target.Value), Cells(1, 14)).EntireColumn.Hidden = True End If End Sub
Excellent,
Encore une fois comment modifier le code, parce que mon "B3" je le veux dans une autre feuille que je nomme pilote.
Cordialement.
à mettre dans le code de la feuille pilotebien sûr en B3 de la feuille pilote tu as une liste des numéros des mois (et non le nom des mois)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$3" Then With Sheets("Feuil1") 'à adapter selon le nom de ta feuille où masquer les colonnes .Range("C1:N1").EntireColumn.Hidden = False If Target.Value < 12 Then .Range(.Cells(1, 3 + Target.Value), .Cells(1, 14)).EntireColumn.Hidden = True End With End If End Sub
sinon on peut adapter
Parfait,
Avec les mois c'est comment?![]()
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 Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range Dim k As Byte If Target.Address = "$B$3" Then With Sheets("Feuil1") .Range("C1:N1").EntireColumn.Hidden = False Set c = .Range("C7:N7").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole) 'Tes mois sont dans la ligne 7 If Not c Is Nothing Then k = c.Column If k < 14 Then .Range(.Cells(1, k + 1), .Cells(1, 14)).EntireColumn.Hidden = True End If Set c = Nothing End With End If End Sub
Partager