Menu

Macro VBA : Masquer colonnes de plusieurs feuilles simultanément [Résolu/Fermé]

Messages postés
77
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
12 mars 2019
- - Dernière réponse : Ducoduc
Messages postés
77
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
12 mars 2019
- 10 oct. 2017 à 09:21
Bonjour à tous,

Après avoir tourner en rond pendant un petit moment, je m'en remet à vous. Mon problème est le suivant : j'ai un fichier excel contenant plusieurs feuilles (4).
Ce que je voudrais faire c'est : Si, dans la feuille MENU, la cellule D5 = X alors masquer les colonnes B et C de TOUTES les autres feuilles (FEUIL1/2/3).
Actuellement je n'arrive pas à masquer les colonnes de toutes les feuilles en même temps, mais seulement sur une feuille.

Ci dessous, l'ossature de mon code :

If Range("D5") = V Then
Sheets(Array("FEUIL1", "FEUIL2", "FEUIL3")).Select
Sheets("FEUIL1").Activate
Columns ("B:C").Select
Selection.EntireColumn.Hidden = True


Et enfin, autre chose, si je voulais que l'action se déclenche lorsque la cellule est vide, la syntaxe serait alors: Range("D5") <> "" Then etc.

Pardonnez mon ignorance et merci beaucoup pour votre aide
Bonne journée à vous


Afficher la suite 

2 réponses

Messages postés
6051
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 mai 2019
365
0
Merci
Bonjour,

comme ceci avec une boucle sur toutes les feuilles sauf la feuille MENU:

Option Explicit
Private Sub CommandButton1_Click()
Dim f As Worksheet
 For Each f In ActiveWorkbook.Sheets
    If f.Name = "MENU" Then
    Else
    If Sheets("MENU").Range("D5").Value = "X" Then
        Worksheets(f.Name).Columns("B:C").EntireColumn.Hidden = True
        Else
       Worksheets(f.Name).Columns("B:C").EntireColumn.Hidden = False
    End If
    End If
    Next f
End Sub

Messages postés
77
Date d'inscription
lundi 19 décembre 2016
Statut
Membre
Dernière intervention
12 mars 2019
3
0
Merci
Merci pour ta réponse Le Pivert,

En fait mon problème est plus profond et je n'arrive pas a tout articuler ensemble. J'ai joint mon fichier plus bas. Mon but avec ce fichier est de :

- depuis la page MENU, après avoir choisi le type de produits (liste déroulante en E2) et les critères à afficher (case à remplir, colonne D) je souhaiterais que la macro (lancée par le bouton sur la droite) m'affiche le résultats de la recherche.
C'est à dire, la feuille qui porte le nom du type de produits avec, sur cette feuille, uniquement les données relatives aux critères choisis précédemment (feuille menu).

Pour l'instant je n'arrive qu'à afficher la feuille correspondante au produit voulu, mais je ne sais pas comment masquer/afficher les colonnes de données en fonction de mes critères choisies dans la feuille Menu...


Le fichier est beaucoup plus parlant...
http://www.cjoint.com/c/GJkhpcciejV

Un grand grand merci !
Bonne journée