Excel VBA Cacher colonne automatiquement
CedricG62
Messages postés
40
Statut
Membre
-
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17414 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
- Liste déroulante excel - Guide
- Formule somme excel colonne - 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