Excel VBA Cacher colonne automatiquement
CedricG62
Messages postés
40
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors voilà j'ai un fichier de pointage avec des dates et je voudrais qu'en fonction du nombre de jour dans le mois, certaines colonne se cachent ou s'affichent.
J'ai essayé un code mais ça ne fonctionne pas :
Vous auriez des idées ?
Merci d'avance,
Cédric
Alors voilà j'ai un fichier de pointage avec des dates et je voudrais qu'en fonction du nombre de jour dans le mois, certaines colonne se cachent ou s'affichent.
J'ai essayé un code mais ça ne fonctionne pas :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1")) Is Nothing Then
'B1 me donne le nombre de jour dans le mois avec cette formule =JOUR(DATE(ANNEE(B3);MOIS(B3)+1;1)-1)
Select Case Target.Value
Case 28
Columns("AE:AG").EntireColumn.Hidden = True 'je cache les colonnes 29-30-31
Case 29
Range("AF:AG").EntireColumn.Hidden = True 'je cache les colonnes 30-31
Case 30
Range("AG:AG").EntireColumn.Hidden = True 'je cache la colonne 31
Case 31
Range("AE:AG").EntireColumn.Hidden = False 'j'affiche toute les colonnes
End Select
End If
End Sub
Vous auriez des idées ?
Merci d'avance,
Cédric
1 réponse
-
Bonjour,
Faudra modifier la formule en B1: =JOUR(DATE(ANNEE(B3);MOIS(B3)+1;0))
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B1", "B3")) Is Nothing Then 'B1 me donne le nombre de jour dans le mois avec cette formule =JOUR(DATE(ANNEE(B3);MOIS(B3)+1;0)) Range("AE:AG").EntireColumn.Hidden = False 'j'affiche toute les colonnes Select Case Range("B1") Case 28 Columns("AE:AG").EntireColumn.Hidden = True 'je cache les colonnes 29-30-31 Case 29 Range("AF:AG").EntireColumn.Hidden = True 'je cache les colonnes 30-31 Case 30 Range("AG:AG").EntireColumn.Hidden = True 'je cache la colonne 31 Case 31 Range("AE:AG").EntireColumn.Hidden = False 'j'affiche toute les colonnes End Select End If End Sub