Masquer une colonne selon une date

Résolu/Fermé
CharlesJ. Messages postés 5 Date d'inscription vendredi 11 janvier 2019 Statut Membre Dernière intervention 11 janvier 2019 - 11 janv. 2019 à 09:54
CharlesJ. Messages postés 5 Date d'inscription vendredi 11 janvier 2019 Statut Membre Dernière intervention 11 janvier 2019 - 11 janv. 2019 à 15:44
Bonjour,

J'essaye de mettre en place un système qui me permettrai de masquer une colonne quand la valeur d'une cellule ne correspond a la valeur d'une cellule de la colonne.

Je m'explique:

J'ai les cellules d'une ligne qui font référence au nombre de semaine dans l'année. (B3= 1; C3 = 2 ; D3 = 3...).
Dans une autre cellule à part, j'ai mis une liste déroulante pour sélectionner: Semaine : 1, 2, 3 ... ( le chiffre est en K2)

Comment faire pour que lorsque je suis en Semaine 2, il n'y ai que la colonne C qui apparaisse étant donnée qu'en C3 il y à 2. Et que les autres cellules soit masquer.

Merci de votre aide.
Cordialement,
CharlesJ.
A voir également:

1 réponse

M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 281
11 janv. 2019 à 10:13
Bonjour,

A voir avec l'exemple.
https://mon-partage.fr/f/kMNmzZYH/

par contre, je n'ai pas mis la liste déroulante en K2 mais en A2, sinon lors du masquage, elle sera masquée.
1
CharlesJ. Messages postés 5 Date d'inscription vendredi 11 janvier 2019 Statut Membre Dernière intervention 11 janvier 2019
11 janv. 2019 à 10:29
Bonjour,

Merci de votre rapidité, cependant je n'arrive pas ouvrir le dossier étant sur mon poste de travail.
Il y a-t-il une macro que je puisse appliquer ?

Cordialement
0
M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 281
Modifié le 11 janv. 2019 à 10:35
Re,

La macro avec la liste déroulante en A2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i%
If Not Application.Intersect(Target, Range("A2")) Is Nothing Then
  Range("A:BC").EntireColumn.Hidden = False
  For i = Cells(3, Columns.Count).End(xlToLeft).Column To 2 Step -1
        If Cells(3, i).Value <> Cells(2, 1) Then Columns(i).Hidden = True
    Next i
End If
End Sub
 


A mettre dans la feuille, pas dans un module
0
CharlesJ. Messages postés 5 Date d'inscription vendredi 11 janvier 2019 Statut Membre Dernière intervention 11 janvier 2019
11 janv. 2019 à 10:46
Désole de vous poser autant de question, je ne suis pas a l'aise avec les macros mais je me forme !

J'ai bien collé la macro mais elle ne s'applique pas ou je n'arrive pas a la faire s'appliquer. Pouvez-vous m'aider ?
0
CharlesJ. Messages postés 5 Date d'inscription vendredi 11 janvier 2019 Statut Membre Dernière intervention 11 janvier 2019
11 janv. 2019 à 11:01
Du coup ça a fonctionné cependant lorsque je modifie les données dans la liste déroulantes cela me masque toute les colonnes même celles que je ne souhaite pas. C'est a dire quand je mets 2, je souhaite que la colonne C reste affiché car dans la cellule 3 il y a le chiffre 2.
0
M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 281
11 janv. 2019 à 11:46
Re,

Teste avec mon classeur d'origine, cela fonctionne comme tu le veux
https://www.cjoint.com/c/IAlkT5r4HKU
0