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
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
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