Masquer des colonnes en fonction de la date du jour

Résolu/Fermé
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016 - 11 nov. 2015 à 15:08
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016 - 13 nov. 2015 à 15:50
Bonjour à tous,
j'ai un fichier excel avec tableau qui distingue des trimestres
Ainsi, j'aimerai que, selon la date à laquelle j'ouvre mon fichier, les colonnes qui ne correspondent pas au trimestre en cours soient masquées.
Si je suis au premier trimestre de l'année, les colonnes des trimestre 2 3 et 4 se masquent, et ainsi de suite.
Est ce que quelqu'un pourrai m'aider?
Je l'espere en tout cas...
Merci d'avance!
A.

6 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
12 nov. 2015 à 08:02
A mettre dans ThisWorkBook:

Option Explicit
Private Sub Workbook_Open()
Sheets("Feuil1").Select ' a adapter
 Columns("A:L").Select
    Selection.EntireColumn.Hidden = True
Trimestre (Now)
End Sub
Function Trimestre(MyDate As Date) As Integer
 Select Case Month(MyDate)
 Case 1, 2, 3
 Trimestre = 1
 Columns("A:C").Select
  Selection.EntireColumn.Hidden = False
 Case 4, 5, 6
 Trimestre = 2
 Columns("D:F").Select
  Selection.EntireColumn.Hidden = False
 Case 7, 8, 9
 Trimestre = 3
  Columns("G:i").Select
  Selection.EntireColumn.Hidden = False
 Case 10, 11, 12
 Trimestre = 4
  Columns("J:L").Select
  Selection.EntireColumn.Hidden = False
End Select
 End Function


1
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
13 nov. 2015 à 15:50
c'est parfait!
merci infiniment!!
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
11 nov. 2015 à 17:41
Bonjour,

En vba. Faire Alt F11 pour accéder à l'éditeur.
Cliquez sur ThisWorkBook en haut à gauche et mettre ce code:

Option Explicit
Dim monmois As String
Private Sub Workbook_Open()
Sheets(Format(Now, "mmmm")).Select 'selection mois en cours
monmois = Format(Now, "mmmm") 'mois en cours
 Dim I As Integer
   For I = 1 To Sheets.Count
      If Sheets(I).Name = monmois Then
    Worksheets(I).Visible = True
     Else
     Worksheets(I).Visible = xlSheetHidden 'on cache les onglets
      End If
   Next I
Trimestre (Now)
End Sub
Function Trimestre(MyDate As Date) As Integer
 Select Case Month(MyDate)
 Case 1, 2, 3
 Trimestre = 1
 Worksheets(1).Visible = True
 Worksheets(2).Visible = True
 Worksheets(3).Visible = True
 Case 4, 5, 6
 Trimestre = 2
  Worksheets(4).Visible = True
 Worksheets(5).Visible = True
 Worksheets(6).Visible = True
 Case 7, 8, 9
 Trimestre = 3
  Worksheets(7).Visible = True
 Worksheets(8).Visible = True
 Worksheets(9).Visible = True
 Case 10, 11, 12
 Trimestre = 4
  Worksheets(10).Visible = True
 Worksheets(11).Visible = True
 Worksheets(12).Visible = True
 End Select
 End Function


Ensuite vous enregistrez classeur avec macro
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
11 nov. 2015 à 18:41
Bonjour,

merci beaucoup pour cette réponse, mais est ce que cela convient bien pour masquer des colonnes? ce ne sont pas des onglets que vous masquez sur ce code?
A.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
11 nov. 2015 à 18:55
C'est exact, je me suis planté. Je vois cela pour l'adapter à des colonnes.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
11 nov. 2015 à 18:56
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
11 nov. 2015 à 19:05
oui c'est bien cela j'ai besoin de masquer des onglets et des colonnes. j'ai preferé splitter en deux car c'était deux questions distinctes
merci en tout cas!
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
11 nov. 2015 à 19:18
pour les onglets, c'est bon?
Je vois cela demain pour les colonnes
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
11 nov. 2015 à 19:45
pour les onglets, ca me dit que l'indice n'appartient pas à la selection. je suis vraiment mauvaise en programmation. je ne comprends pas le debut du programme

Dim monmois As String
Private Sub Workbook_Open()
Sheets(Format(Now, "mmmm")).Select 'selection mois en cours
monmois = Format(Now, "mmmm") 'mois en cours
Dim I As Integer
For I = 1 To Sheets.Count
If Sheets(I).Name = monmois Then
Worksheets(I).Visible = True
Else
Worksheets(I).Visible = xlSheetHidden 'on cache les onglets
End If
Next I

j'ai tres certainement des choses à modifier dans cette partie pour que cela fonctionne avec mon fichier, mais à dire vrai, je ne sais pas quoi...
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
11 nov. 2015 à 20:36
monmois = Format(Now, "mmmm") 'mois en cours

donne novembre

il faut que les onglets aient le mois écrit en entier!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
11 nov. 2015 à 18:57
C'est ce post là qui m'a trompé!
0
Bonjour
donne un modelé de ton fichier ça sera plus simple pour comprendre
A+
Maurice
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
11 nov. 2015 à 19:51
je ne vois pas comment ajouter mon fichier ici?
0