Masquer colonne et afficher onglet pour une condition if

Bonjour,

J’ai besoin d’affiché un onglet masqué en fonction du type de matériel. Quand c’est du matériel1 il affiche l’onglet MATERIEL1, quand c’est du matériel2 il affiche l’onglet PARC quand c’est un autre matériel il faut afficher l’onglet PARC mais en plus masquer la colonne B de l’onglet PARC.

If aParc <> "NON" Then
ActiveWorkbook.Unprotect
If PROJET = "MATERIEL1" Then
Worksheets(sheet_MATERIEL1).Visible = xlSheetVisible
ElseIf PROJET = "MATERIEL2" Then
Worksheets(sheet_PARC).Visible = xlSheetVisible
Else
Worksheets(sheet_PARC).Visible = xlSheetVisible: Range("B:B").EntireColumn.Hidden = True
End If

J'ai rajouté : Range("B:B").EntireColumn.Hidden = True pour masquer la collonne mais ça ne fonctionne pas.

Avez vous une idée?

Bonjour et bienvenue sur le forum

Tu devrais joindre ton fichier...

Bye !

Le fichier est trop gros. J'ai juste besoin de savoir comment ajouter 2 instructions à la suite pour une condition.

Bonsoir Methos31, Gmb,

Le fait de rendre une feuille visible tel que Sheet_Parc implique que ce n'est pas la feuille active.

Donc ("B:B").EntireColumn.Hidden = True ne va s'appliquer que sur la feuille actuellement active.

Il faut donc cibler la colonne en ciblant l'objet feuille ou l'onglet par

Sheet_Parc.select
Columns("B:B").EntireColumn.Hidden = False 'ou True

si Sheet_Parc est le nom de l'objet feuille.

Ou

Sheets("Sheet_parc").select
Columns("B:B").EntireColumn.Hidden = False 'ou True

si Sheet_Parc est le nom de l'onglet.

Et évidemment... on ne cherche pas un Range mais une Colonne.

Merci pour ton update X Cellus

Effectivement l'onglet parc est caché donc l'idée est de faire apparaitre l'onglet

et de masquer une colonne.

X Cellus je viens d'ajouter tes updates mais ca ne marche toujours pas...

J'ai fais les modif suivante:

Else

'Worksheets(sheet_PARC).Visible = xlSheetVisible

>>>> Remplacé par :

Else

Worksheets(sheet_PARC).Visible = xlSheetVisible: Columns("B:B").EntireColumn.Hidden = False

Je voulais mettre:

Worksheets(sheet_PARC).Visible = xlSheetVisible: Sheets("Sheet_PARC).select: Columns("B:B").EntireColumn.Hidden = True

> Mais vba me dit Erreur de compilation: Attendu: séparateur de liste ou )

Bonjour Methos31,

Utilises uniquement sheets("sheet_parc") pour cibler ton onglet.

Aussi bien pour le rendre visible que pour les colonnes.

Vu que tu ne montres pas le nom de tes feuilles dans les propriétés Objet. Sinon fais une photo.

Je suis débutant mais je met Sheets("sheet_PARC") à quel niveau?

Else
Sheets("sheet_PARC").Select: Columns("B:B").EntireColumn.Hidden = True car la ca ne marche pas.

Bonjour à tous,

[EDIT]

L'onglet s'appelle bien PARC tout court...

Ainsi peut-être ?

With Sheets("PARC")
  .Visible = xlSheetVisible
  .Columns("B:B").EntireColumn.Hidden = True
 End With

Cordialement,

L'onglet s'appelle bien PARC tout court...

Bonjour à tous,

Pour compléter les réponses de mes camarades X Cellus et Xorsankukai que je salue :

Si l'onglet est nommé "PARC", il faut sheets("PARC").visible = true.

Si PARC est son codename, ce sera PARC.visible = true.

Il est également possible d'utiliser son index (sa position dans le classeur). Pour la première feuille, sheets(1).visible = true.

Cdlt,

Re,

Message précédent modifié.

Cdlt,

Merci à tous ça l'air de marcher vous êtes des kings ;-)

Je conforme ça marche parfaitement.

Bonjour Methos31,

Ravi que cela marche mis à part l'orthographe. le mot confirme serait plus adapté.

Salut 3GB et Xorsankukai,

Rechercher des sujets similaires à "masquer colonne afficher onglet condition"