Masque plusieurs colonne selon critère dans liste déroulante

Bonjour à tous,

Je souhaiterai créer des vues afin de pouvoir mieux saisir des données sur des tableaux qui peuvent ne plus en finir en termes de colonnes. J'aimerai ainsi que certaines colonnes soient masquées en fonction de critère défini dans une autre feuille, DATA.

Et cela pour tout mes onglets de calcul, je souhaiterai pouvoir masquer plus finement.

J'ai un début de code, mais n'arrive pas a trouver comment procéder (voir commentaire) :

Sub a()

Dim shdat, shNo, shEm As Worksheet
Dim NomColNo, NomColEm As Range

NomColNo = shdat.Range("Q2:Q150")

For Each cell In NomColNo
If cell.Offset(0, 1) = "Finance" Then
'trouve et masque dans l'onglet NO, les colonnes comportant des valeurs différentes de "Finance" dans DATA

End If
Next cell

End Sub

J'ai posté également le fichier si besoin. Si quelqu'un peut me donner une piste, ce serait top ^^

Bon week-end et bonne rentrée,

8anonyme.zip (68.84 Ko)

Bonjour Lolopix,

En gardant la même structure que tu présentes mais en modifiant certaines lignes.

Sub a()

Dim shdat, shNo, shEm As Worksheet
Dim NomColNo, NomColEm As Range
Dim NomCol, Col As String

Set shdat = Sheets("DATA")
Set shNo = Sheets("NO")
Set shEm = Sheets("EM")

NomColNo = shdat.Range("R2:R12")

For Each C In NomColNo
I = I + 1
If C <> "Finance" Then
'trouve et masque dans l'onglet NO, les colonnes comportant des valeurs différentes de "Finance" dans DATA
NomCol = Cells(I + 1, "Q")
'Noms de colonne identiques et placées de la même manière sur toutes les feuilles cibles
shNo.Columns(I).Hidden = True
End If
Next C

End Sub

Exxemple testé sur les 12 colonnes du fichier posté.

Rechercher des sujets similaires à "masque colonne critere liste deroulante"