Excel VBA Cacher colonne automatiquement
CedricG62
Messages postés
38
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 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
A voir également:
- Excel VBA Cacher colonne automatiquement
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Formule somme excel colonne - Guide
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
1 réponse
Bonjour,
Faudra modifier la formule en B1: =JOUR(DATE(ANNEE(B3);MOIS(B3)+1;0))
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