Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour Cacher des Colones selon un liste deroulante avec les mois

  • Initiateur de la discussion Initiateur de la discussion benloco
  • Date de début Date de début

benloco

XLDnaute Nouveau
Bonjour a tous,

Novice en macro, je souhaiterais savoir comment faire une macro qui puisse me cacher des colonnes (Mois) selon le critere du mois choisi sur une liste deroulante.

Sur ma feuille, il y a 4 differents tableaux, je souhaiterais avoir uniquement le mois selectionne pour les 4 tableaux.

EX: si je selectione le mois de Janvier (sur ma liste deroulante), je souhaite avoir que les mois de Janvier de mes 4 talbeaux.

Merci d'avance pour votre aide.
 

tototiti2008

XLDnaute Barbatruc
Re : Macro pour Cacher des Colones selon un liste deroulante avec les mois

Bonjour benloco,

Bienvenue sur XLD,

il faudrait que l'on sache à quoi ressemblent tes tableaux et ta liste déroulante
un petit fichier exemple, sans données confidentielles, nous aiderait bien
 

benloco

XLDnaute Nouveau
Re : Macro pour Cacher des Colones selon un liste deroulante avec les mois

Voici le fichier.

En C7, la liste deroulante avec les mois.

Merci beaucoup pour votre aide
 

Pièces jointes

  • Test Macro Mois.zip
    17.1 KB · Affichages: 55

tototiti2008

XLDnaute Barbatruc
Re : Macro pour Cacher des Colones selon un liste deroulante avec les mois

Re,

à tester dans le code de la feuille Comparaison

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
    If Target.Address = "$C$7" Then
        Application.ScreenUpdating = False
        Range("E1:IV1").EntireColumn.Hidden = False
        For i = 5 To Range("IV13").End(xlToLeft).Column
            If IsDate(Cells(13, i).Value) Then
                If Month(Cells(13, i).Value) <> Application.Match(Target.Value, Sheets("List Mois").Range("January"), 0) Then
                    Cells(13, i).EntireColumn.Hidden = True
                End If
            End If
        Next i
        Application.ScreenUpdating = True
    End If
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Macro pour Cacher des Colones selon un liste deroulante avec les mois

Re,

tu as bien copié le End Sub à la fin du code que je t'ai posté ?

une version avec la macro :
 

Pièces jointes

  • Test Macro.xls
    40 KB · Affichages: 96
  • Test Macro.xls
    40 KB · Affichages: 101
  • Test Macro.xls
    40 KB · Affichages: 101
Dernière édition:

benloco

XLDnaute Nouveau
Re : Macro pour Cacher des Colones selon un liste deroulante avec les mois

Super Big thank,

Ca marche super bien.

Et il possible de rajouter un code pour avoir la possibilité de retourner a vue globale avec tous les mois.

Je peux rajouter, TOUS MOIS, dans ma liste deroulante.

Merci encore.
 

tototiti2008

XLDnaute Barbatruc
Re : Macro pour Cacher des Colones selon un liste deroulante avec les mois

Re,


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
    If Target.Address = "$C$7" Then
        Application.ScreenUpdating = False
        Range("E1:IV1").EntireColumn.Hidden = False
if target.value = "TOUS MOIS" then Exit Sub
        For i = 5 To Range("IV13").End(xlToLeft).Column
            If IsDate(Cells(13, i).Value) Then
                If Month(Cells(13, i).Value) <> Application.Match(Target.Value, Sheets("List Mois").Range("January"), 0) Then
                    Cells(13, i).EntireColumn.Hidden = True
                End If
            End If
        Next i
        Application.ScreenUpdating = True
    End If
End Sub
Edit : Bing, Bonjour JCGL
En effet le "+1" est utile si "TOUS MOIS" ou "Année" se trouve avant les mois normaux
s'il se trouve après, pas besoin... à benloco de choisir
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Macro pour Cacher des Colones selon un liste deroulante avec les mois

Bonjour à tous,
Salut Toto,

En rajoutant "Année" dans la liste des Mois et modifiant la portée de cette liste :


Permet de remettre toutes les colonnes visibles

A++
a+ à tous
 

Discussions similaires

Réponses
0
Affichages
514
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…