Macro VBA : Masquer colonnes de plusieurs feuilles simultanément

Résolu/Fermé
Ducoduc Messages postés 78 Date d'inscription lundi 19 décembre 2016 Statut Membre Dernière intervention 13 mars 2020 - 9 oct. 2017 à 15:08
Ducoduc Messages postés 78 Date d'inscription lundi 19 décembre 2016 Statut Membre Dernière intervention 13 mars 2020 - 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


A voir également:

2 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
9 oct. 2017 à 18:21
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

0
Ducoduc Messages postés 78 Date d'inscription lundi 19 décembre 2016 Statut Membre Dernière intervention 13 mars 2020 15
10 oct. 2017 à 09:21
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
0