Fermeture colonne

Bonjour à tous,

Dans la continuité de mon dernier projet et fichier joint, est-ce qu'il serait possible d'obtenir un coup de main via une macro pour automatiser le masque d'une colonne, s'il vous plaît.

L'idée serait d'avoir un bouton macro qui serait positionner dans la 1ère feuille qui se nomme "Tableau_compétences" et qui permettrait de masquer la colonne C de toutes les autres feuille dont chaque est nommé selon le nom de la personne.

D'avance, un grand, merci, bien cordialement, Chti59xcel

sans fichier, c'est un pari

Sub M_Masquer()
     For Each sh In ThisWorkbook.Worksheets
          If StrComp(sh.Name, "tableau_compétences", 1) <> 0 Then sh.Columns("C").Hidden = True
     Next
End Sub

@user_924, vous en êtes à votre 101ème message et ne savez toujours pas qu'un fichier d'exemple est quasiment OBLIGATOIRE ?

Y'a pas de "voyant" sur les forums

Bonjour,

Merci pour la macro, ça fonctionne impeccable.

Du coup, je m'aperçois, que j'ai manqué de précision... Est-ce qu'il serait possible de la modifier pour que la macro soit capable d'ouvrir la colonne C au 1er clic du bouton et refermer la colonne C dans toutes les feuilles au 2ème clic s'il vous plaît, une sorte de fonctionnement comme un interrupteur ?

Sub M_Masquer()
For Each Sh In ThisWorkbook.Worksheets
If StrComp(Sh.Name, "tableau_compétences", 1) <> 0 Then Sh.Columns("C").Hidden = True
Next
End Sub

D'avance, merci beaucoup, cordialement, Chti59xcel

Bonjour le fil,

@User_925 Modifiez la macro comme suis :

Sub M_Masquer()
    Static isHidden As Boolean
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        If StrComp(sh.Name, "tableau_compétences", 1) <> 0 Then
            sh.Columns("C").Hidden = isHidden
            isHidden = Not isHidden
        End If
    Next
End Sub

Pour plus d'explications sur Static isHidden : https://learn.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/static-statement

Edit :

Est-ce qu'il serait possible de la modifier pour que la macro soit capable d'ouvrir la colonne C au 1er clic du bouton et refermer la colonne C dans toutes les feuilles au 2ème clic

Au premier lancement isHidden est initialiser à FAUX, sur clic il passera à VRAI. Donc au premier click les colonnes sontaffichées et ensuite cachées.
C'est votre demande mais je ne pense pas que ce soit la plus pérenne...

Bonjour,

Un grand, grand merci ! Je viens de tester dans mon classeur officiel, ça fonctionne impeccable, c'est super

Bien cordialement, Chti59xcel

Oups, j'ai parlé trop vite.

La macro ouvre et ferme la colonne C, mais une feuille sur deux. L'objectif, est qu'à partir de la feuille "Tableau_compétences", la macro puisse ouvrir ou fermer la colonne de toutes les feuilles, d'avance, merci cordialement, Chti59xcel

je suppose que cela suffit de déplacer la ligne avant le "For ..."

image

Bonsoir le fil,

Je me suis précipité encore une fois...

Sub M_Masquer()
    Static isHidden As Boolean
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        If StrComp(sh.Name, "tableau_compétences", 1) <> 0 Then
            sh.Columns("C").Hidden = isHidden
        End If
    Next
    isHidden = Not isHidden
End Sub

@BsAvl il veux que la macro affiche les colonnes au premier clic, donc isHidden doit être a FAUX. Il faut changer son état après la boucle.

Oui, ça marche super bien, un grand merci à tous pour votre aide et soutien, bonne journée, cordialement, Chti59xcel !

Rechercher des sujets similaires à "fermeture colonne"